首页 >Java >java教程 >如何使用没有按钮的计时器在单独的窗口中显示倒计时?

如何使用没有按钮的计时器在单独的窗口中显示倒计时?

DDD
DDD原创
2024-10-28 03:40:30868浏览

How to Display a Countdown in a Separate Window Using a Timer without Buttons?

使用不带按钮的计时器从另一个 JFrame 调用一个 JFrame

问:如何在不使用任何按钮的情况下使用计时器从另一个 JFrame 调用一个 JFrame ?

答:虽然提供的问题不够清晰,但不建议使用多个框架进行 GUI 设计。相反,请考虑使用如下所述的无模式对话框。

使用无模式对话框的解决方案

此解决方案使用带有封闭的 JOptionPane 的无模式对话框来显示倒计时。 JOptionPane 使用 javax.swing.Timer 侦听 PropertyChangeEvent。

模型类 (JOptionTimeTest)

<code class="java">import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.Timer;

/**
 * @see https://stackoverflow.com/a/12451673/230513
 */

public class JOptionTimeTest implements ActionListener, PropertyChangeListener {

    private static final int TIME_OUT = 10;
    private int count = TIME_OUT;
    private final Timer timer = new Timer(1000, this);
    private JDialog dialog = new JDialog();
    private final JOptionPane optPane = new JOptionPane();

    // Main method
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            public void run() {
                new JOptionTimeTest().createGUI();
            }
        });
    }

    // Create GUI and display countdown
    private void createGUI() {</code>

以上是如何使用没有按钮的计时器在单独的窗口中显示倒计时?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn