我的框架中包含JTextField
和JButton
。
当我按下时我想调用一个方法,每隔4/5/8秒更新一次JTextField文本。
任何人都可以帮我代码? (谢谢)
The code:
import javax.swing.*;
public class Gui{
JFrame frame = new JFrame();
public Gui(){
frame.setLayout(new FlowLayout());
JTextField tf = new JTextField(10);
JButton bu = new JButton("Button");
bu.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
for(int i=0;;i++){
tf.setText("" + i);
}
}
});
}
}
答案 0 :(得分:3)
就个人而言,正如@trashgod指出的那样,我将使用java.swing.Timer,主要原因是它支持在EDT
内调用通知,以及一些(通常是次要的)管理让生活更轻松的方法
答案 1 :(得分:1)
您可以尝试使用计时器:http://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
您可能希望在调用actionPerformed
方法时启动计时器。
虽然最好用Swing下注,但是使用javax.swing.Timer,因为它允许你在事件发送线程上更新你的GUI。