Memanggil Satu JFrame dari Yang Lain Menggunakan Pemasa tanpa Butang
S: Bagaimanakah saya boleh memanggil satu JFrame dari yang lain menggunakan pemasa tanpa menggunakan sebarang butang ?
J: Walaupun soalan yang diberikan tidak mempunyai kejelasan, adalah tidak digalakkan untuk menggunakan berbilang bingkai untuk reka bentuk GUI. Sebaliknya, pertimbangkan untuk menggunakan dialog tanpa mod seperti yang diterangkan di bawah.
Penyelesaian Menggunakan Dialog Tanpa Model
Penyelesaian ini menggunakan dialog tanpa mod dengan JOptionPane yang disertakan untuk memaparkan kira detik. JOptionPane mendengar PropertyChangeEvent menggunakan javax.swing.Timer.
Kelas Model (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>
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Countdown dalam Tetingkap Berasingan Menggunakan Pemasa tanpa Butang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!