ホームページ >Java >&#&チュートリアル >ボタンのないタイマーを使用して Java アプリケーションのウィンドウ間を移行するにはどうすればよいですか?
タイマーを使用して実行中のウィンドウから新しいウィンドウにアクセスする
プログラミングでは、アプリケーション内のウィンドウ間をシームレスに移動できる機能が重要です。この記事では、タイマーを使用してこれを実現し、従来のボタン操作の必要性を排除する方法について説明します。
問題の説明
当面のタスクには、通常、新しいウィンドウを開くことが含まれます。指定された時間間隔で既存のウィンドウから JFrame を取得します。これは、ユーザー操作用のボタンを使用せずにタイマーを使用して実現されます。
解決策
時間ベースの移行にタイマーを備えたモードレス ダイアログを使用する
複数のフレームの使用は通常推奨されませんが、メイン アプリケーションに表示されるモードレス ダイアログは代替ソリューションとして機能します。
コード例
次のコード スニペットは、この実装を示しています。
<code class="java">import javax.swing.JDialog; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.Timer; public class TimedDialogDemo implements ActionListener, PropertyChangeListener { private int countDown; private Timer timer; private JDialog dialog; private JOptionPane optPane; public TimedDialogDemo(int initialCountDown) { this.countDown = initialCountDown; this.timer = new Timer(1000, this); // Interval in milliseconds this.dialog = new JDialog(); // JOptionPane for message display this.optPane = new JOptionPane(); this.optPane.setMessage("Closing in " + countDown + " seconds."); this.optPane.setMessageType(JOptionPane.INFORMATION_MESSAGE); this.optPane.addPropertyChangeListener(this); this.dialog.add(this.optPane); this.dialog.pack(); } public void showDialog() { this.dialog.setVisible(true); this.timer.start(); } public void hideDialog() { this.dialog.setVisible(false); this.dialog.dispatchEvent(new WindowEvent( this.dialog, WindowEvent.WINDOW_CLOSING)); } public void actionPerformed(ActionEvent e) { this.countDown--; this.optPane.setMessage("Closing in " + countDown + " seconds."); if (this.countDown == 0) { hideDialog(); } timer.restart(); } public void propertyChange(PropertyChangeEvent e) { String prop = e.getPropertyName(); if (JOptionPane.VALUE_PROPERTY.equals(prop)) { // Handle button click or OK pressed hideDialog(); } } public static void main(String[] args) { TimedDialogDemo demo = new TimedDialogDemo(10); demo.showDialog(); } }</code>
この手法を利用すると、事前定義された時間間隔に基づいてアプリケーションのウィンドウ間でシームレスな遷移を作成できます。このアプローチはユーザー フレンドリーなエクスペリエンスを提供し、手動でのボタン操作を必要とせずにタイムリーな通知を提供します。
以上がボタンのないタイマーを使用して Java アプリケーションのウィンドウ間を移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。