Heim  >  Artikel  >  Java  >  Wie zeige ich einen Countdown in einem separaten Fenster mit einem Timer ohne Tasten an?

Wie zeige ich einen Countdown in einem separaten Fenster mit einem Timer ohne Tasten an?

DDD
DDDOriginal
2024-10-28 03:40:30768Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn