如何将thread.sleep转换为javax.swing.timer?
有没有一种方法可以轻松地将thread.sleep转换为javax.swing.timer 我之所以需要这样做,是为了在按下按钮时阻止用户界面冻结,以便实现暂停按钮 代码示例:如何将thread.sleep转换为javax.swing.timer?,java,multithreading,swing,user-interface,timer,Java,Multithreading,Swing,User Interface,Timer,有没有一种方法可以轻松地将thread.sleep转换为javax.swing.timer 我之所以需要这样做,是为了在按下按钮时阻止用户界面冻结,以便实现暂停按钮 代码示例: btnStartTiming.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent arg0) { try{
btnStartTiming.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent arg0) {
try{
inputA = Double.parseDouble(txtEnterHowLong.getText()); //Changes double to string and receives input from user
}catch(NumberFormatException ex){
}
while (counter <= inputA){
txtCounter.setText(counter + "");
try {
Thread.sleep(1000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.println(counter);
counter++;
}
}
});
btnStartTiming.addMouseListener(新的MouseAdapter(){
@凌驾
公共无效MouseEvent arg0{
试一试{
inputA=Double.parseDouble(txtEnterHowLong.getText());//将Double更改为字符串并从用户接收输入
}catch(NumberFormatException ex){
}
而(计数器一些提示:
- 看看
追踪并回答具体问题。描述你目前正在努力完成的任务和工作,展示你解决问题的尝试,并提出一个可回答的问题
- 不要使用
要在按下按钮时收听,请使用
相反,看看trail
一些提示:
- 看看
追踪并回答具体问题。描述你目前正在努力完成的任务和工作,展示你解决问题的尝试,并提出一个可回答的问题
- 不要使用
要在按下按钮时收听,请使用
相反,看看trail
- 将
java.swing.Timer
放入构造函数中。您可以使用按钮启动()
计时器
- 您也可以在计时器代码检查中添加if语句,而不是
while
。stop()
像这样的
int delay = 1000;
Timer timer = new Timer(delay, null);
public Constructor(){
timer = new Timer(delay, new ActionListener(){
public void actionPerformed(ActionEvent e) {
if (counter >= inputA) {
timer.stop();
} else {
// do something
}
}
});
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
timer.start();
}
});
}
- 将
放入构造函数中。您可以使用按钮java.swing.Timer
计时器启动()
- 您也可以在计时器代码检查中添加if语句,而不是
。stop()while
int delay = 1000;
Timer timer = new Timer(delay, null);
public Constructor(){
timer = new Timer(delay, new ActionListener(){
public void actionPerformed(ActionEvent e) {
if (counter >= inputA) {
timer.stop();
} else {
// do something
}
}
});
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
timer.start();
}
});
}
我不确定如何在这段代码中实现javax.swing.timer。教程正在等待。替换整个
while
循环。while循环的每个迭代都将映射到java.swing.timer
的注册ActionListener
方法的actionPerformed
中,我不确定如何实现将javax.swing.timer插入此代码。教程正在等待。替换整个while
循环。while
循环的每次迭代都将映射到java.swing.timer