每5秒更新一次textField

时间:2015-04-16 07:10:49

标签: java swing awt jtextfield

我刚刚开始使用Java,我需要帮助,我想每5秒钟更新一次JtextField,我搜索了一些东西,然后尝试使用thread.sleep(5000),但它无法正常工作(和我不知道为什么。以下是我JtextField的代码:

    textField_1 = new JTextField();
    textField_1.setText("0656");
    textField_1.setFont(new Font("Verdana", Font.PLAIN, 80));
    textField_1.setToolTipText("");
    textField_1.setHorizontalAlignment(SwingConstants.CENTER);
    textField_1.setBounds(212, 120, 600, 150);
    frame.getContentPane().add(textField_1);
    textField_1.setColumns(10);

3 个答案:

答案 0 :(得分:3)

实现这一目标的最简单方法是使用类Timer。

    Timer t = new Timer();
    t.schedule(new TimerTask() {
        @Override public void run() {
              // textField_t.setText(YOUR TEXT); 
        }
    }, 0L, 5000L);

答案 1 :(得分:1)

使用Swing Timer组件通过Swing GUI工具包执行重复性任务:

ActionListener task = new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                // Do stuff
            }
};
Timer timer = new Timer(100 ,task); // Execute task each 100 miliseconds
timer.setRepeats(true);
timer.start();

答案 2 :(得分:1)

请记住,5000是5000毫秒,1000毫秒等于1秒。

 `javax.swing.Timer

  final Timer updater = new Timer(5000, new ActionListener() {
  public void actionPerformed(ActionEvent e) 
  {
  // update JTextField
  }
  });
  JButton button = new JButton("Start");
  button.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {
  updater.start();
  }
  });`