使用不带按钮的计时器从另一个 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中文网其他相关文章!