Einen JFrame von einem anderen mit einem Timer ohne Tasten aufrufen
F: Wie kann ich einen JFrame von einem anderen mit einem Timer ohne die Verwendung von Tasten aufrufen? ?
A: Auch wenn es der gestellten Frage an Klarheit mangelt, ist es nicht ratsam, mehrere Frames für das GUI-Design zu verwenden. Erwägen Sie stattdessen die Verwendung eines modalen Dialogs wie unten beschrieben.
Lösung mit einem modalen Dialog
Diese Lösung verwendet einen modalen Dialog mit einem eingeschlossenen JOptionPane, um einen Countdown anzuzeigen. Das JOptionPane wartet mithilfe von javax.swing.Timer auf ein PropertyChangeEvent.
Modellklasse (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>
Das obige ist der detaillierte Inhalt vonWie zeige ich einen Countdown in einem separaten Fenster mit einem Timer ohne Tasten an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!