使用不含按鈕的計時器從另一個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中文網其他相關文章!