ホームページ  >  記事  >  Java  >  ボタンのないタイマーを使用して別のウィンドウにカウントダウンを表示するにはどうすればよいですか?

ボタンのないタイマーを使用して別のウィンドウにカウントダウンを表示するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-28 03:40:30768ブラウズ

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

ボタンを使用せずにタイマーを使用してある JFrame を別の JFrame から呼び出す

Q: ボタンを使用せずにタイマーを使用して、ある JFrame を別の JFrame から呼び出すにはどうすればよいですか?

A: 提供された質問は明確さに欠けていますが、GUI 設計に複数のフレームを使用することはお勧めできません。代わりに、以下で説明するようにモードレス ダイアログの使用を検討してください。

モードレス ダイアログを使用したソリューション

このソリューションでは、囲まれた JOptionPane を持つモードレス ダイアログを使用してカウントダウンを表示します。 JOptionPane は、javax.swing.Timer.

Model Class (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>
を使用して PropertyChangeEvent をリッスンします。

以上がボタンのないタイマーを使用して別のウィンドウにカウントダウンを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。