package paint;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class NewThread extends Thread {
private static int start;
private int v;
private MyCanvas myCanvas;
private JTextField jt5;
private JTextField jt3;
private JTextField jt2;
private JFrame JFrame;
private ArrayList<JTextField> aj;
public NewThread(int v,MyCanvas myCanvas,JTextField jt5,JTextField jt3,JTextField jt2,
JFrame jFrame,ArrayList<JTextField> Aj) {
// TODO 自动生成的构造函数存根
this.v=v;
this.myCanvas=myCanvas;
this.jt2=jt2;
this.jt3=jt3;
this.jt5=jt5;
this.JFrame=jFrame;
this.aj=Aj;
}
public void setStart(int start) {
NewThread.start=start;
}
@Override
public void run() {
// TODO 自动生成的方法存根
super.run();
start=0;//游戏关闭与重新开始
while(start!=2)
{
if(!jt5.getText().equals(""))//获取速度
v=Integer.parseInt(jt5.getText());
for(int j=0;j<myCanvas.getList().size()&&j<aj.size();j++)
{
if(!aj.get(j).getText().equals("")&&!aj.get(j).getText().equals("高度"))
{
myCanvas.getList().get(j).setyString(Integer.parseInt(aj.get(j).getText()));
myCanvas.getList().get(j).setNyString(Integer.parseInt(aj.get(j).getText()));
aj.get(j).setText("");
}
}
try {
Thread.sleep(v);//控制下落速度
ArrayList<Data>list=myCanvas.getList();
for(int i=0;i<list.size()&&start!=2;i++)//每个都落下
{
int y=list.get(i).getyString();
y+=5;
list.get(i).setyString(y);
if(y>400)
{
start=2;
}
if(start==2)
{
Object[] options ={ "关闭游戏?", "重新开始??" };
start = JOptionPane.showOptionDialog(null, "游戏失败", "提示",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
//******************0关闭,1重开,**********************************************/
if(start==0)
{
JFrame.dispose();//关闭窗口
}
start=2;
break;
}
}
myCanvas.setList(list);
myCanvas.repaint();
} catch (InterruptedException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
jt3.setText("速度:"+v);
}
}
}