线程类

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);
			

		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值