在GUI中实时计数

时间:2014-03-02 02:00:04

标签: java swing

我试图在简单的java gui中显示实时计数,我使用了optionPane但是有一个内置按钮。因此,每次显示下一个数字时,用户都必须按下按钮。有没有办法让数字在一个简单的gui中自行运行?

示例:

for(int i = 0; i < 100; i++)
{
  JOptionPane.showMessageDialog(null, i);
}

2 个答案:

答案 0 :(得分:1)

使用javax.swing.Timer是最好的选择。您可以运行以下示例。您可以在How to use Swing Timers

了解详情
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import javax.swing.Timer;

public class TimerDemo {

    static int count = 0;

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                final JLabel time = new JLabel(String.valueOf(count));

                Timer timer = new Timer(1000, new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        if (count >= 100) {
                            ((Timer) e.getSource()).stop();
                        } else {
                            count++;
                            time.setText(String.valueOf(count));
                        }
                    }
                });
                timer.start();
                JOptionPane.showMessageDialog(null, time);
            }
        });
    }
}

  • 您可以看到时钟示例here
  • 您可以看到更多计时器示例herehere以及herehere

答案 1 :(得分:0)

用户单击“确定”不是1对话框,弹出100个对话框,