java连连看里设置150秒倒计时,重行开始游戏时时间再次从150秒开始倒计时的代码怎么写,急!!!!!!!

发布于2022-01-13 10:49:05
3个回答
admin
网友回答2022-01-13
参考一下吧。 import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class Program { static int seconds = 150; private TimeThread tt = null; private boolean ttFlag = false; private void init() { final JLabel tip = new JLabel(); final JButton start = new JButton("开始"); final JButton end = new JButton("结束"); JFrame f = new JFrame(); f.setLayout(new FlowLayout(5)); f.add(tip); f.add(start); f.add(end); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); f.setSize(300, 150); f.setLocationRelativeTo(null); start.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { start.setEnabled(false); tip.setFont(new Font("宋体",Font.BOLD,27)); ttFlag = true; tt = new TimeThread(tip); tt.start(); } }); end.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { start.setEnabled(true); tip.setText(""); Program.seconds = 150; ttFlag = false; } }); } /**  * @param args  */ public static void main(String[] args) { new Program().init(); } class TimeThread extends Thread { private JLabel tip; TimeThread(JLabel tip) { this.tip = tip; } @Override public void run() { int seconds = Program.seconds; tip.setText(seconds+""); while (seconds-- > 0 && ttFlag) { tip.setText(seconds+""); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }; }
admin
网友回答2022-01-13
在进入连连看房间以后,右上角有一个参数设置,里面的基本设置中的自动倒计时这一项不打勾,你也就不会倒计时了………… 很高兴回答楼主的问题 如有错误请见谅
admin
网友回答2022-01-13
用多线程 等待150秒 关闭现有线程 重新在打开一个线程

回到
顶部