타이머를 사용하여 실행 중인 창에서 새 창에 액세스
프로그래밍에서는 애플리케이션 내에서 창 사이를 원활하게 이동하는 기능이 중요합니다. 이 기사에서는 전통적인 버튼 상호 작용이 필요 없이 타이머를 사용하여 이를 달성하는 방법을 살펴봅니다.
문제 설명
당면 작업에는 일반적으로 새 창을 여는 작업이 포함됩니다. 지정된 시간 간격으로 기존 창의 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 애플리케이션에서 Windows 간에 전환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!