0

我有一个带有 aJTextField和 a的框架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);
               }
        }
  });
}
}
4

2 回答 2

3

就个人而言,正如@trashgod 所指出的,我会使用java.swing.Timer,主要原因是它支持在 中调用通知EDT,以及一些(通常是次要的)管理方法来帮助让生活更轻松

于 2012-07-25T15:21:55.650 回答
1

您可以尝试使用计时器:http ://docs.oracle.com/javase/7/docs/api/java/util/Timer.html

您可能希望在actionPerformed调用该方法时启动计时器。

尽管 Swing 的最佳选择是使用javax.swing.Timer,因为它允许您在事件调度线程上更新您的 GUI。

于 2012-07-25T14:49:47.950 回答