![](/img/trans.png)
[英]How can I make a piece of code loop while a Button is pressed and stop it once the Button is no longer Pressed?
[英]How can I keep executing work while a button is pressed?
我想在按下按钮时使用 Java 继续执行工作。 松开按钮时,工作应停止。 像这样的东西:
Button_is_pressed()
{
for(int i=0;i<100;i++)
{
count=i;
print "count"
}
}
我怎么能做到这一点?
单程:
isPressed()
方法并根据其状态打开或关闭 Swing Timer。前者的一个例子:
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class ButtonPressedEg {
public static void main(String[] args) {
int timerDelay = 100;
final Timer timer = new Timer(timerDelay , new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button Pressed!");
}
});
JButton button = new JButton("Press Me!");
final ButtonModel bModel = button.getModel();
bModel.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent cEvt) {
if (bModel.isPressed() && !timer.isRunning()) {
timer.start();
} else if (!bModel.isPressed() && timer.isRunning()) {
timer.stop();
}
}
});
JPanel panel = new JPanel();
panel.add(button);
JOptionPane.showMessageDialog(null, panel);
}
}
我想在按下按钮时继续执行工作
在另一个线程中执行该过程,然后您的表单不会被阻止,您可以按下按钮取消或停止执行。
看 :
我知道这个问题很旧,但您可以使用:
while (yourButton.isPressed()) {
// Do Stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.