버튼 없이 타이머를 사용하여 다른 JFrame에서 하나의 JFrame 호출
버튼을 사용하여 중첩된 JFrame의 표시를 트리거하는 대신 모드리스 사용을 고려하세요. 대화. 이 기술은 더욱 명확하고 효율적인 접근 방식을 제공합니다.
구현:
1. 모덜리스 대화 상자:
2. 카운트다운 타이머:
3. PropertyChangeListener:
4. 표시 대화 상자:
사용 사례:
다음 코드 조각은 이 기술을 보여줍니다.
<code class="java">import javax.swing.*; public class TimedDialogExample { // Countdown time in seconds private static final int TIME_OUT = 10; public static void main(String[] args) { SwingUtilities.invokeLater(() -> { // Create a frame JFrame frame = new JFrame("Main Frame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); // Create a dialog JDialog dialog = new JDialog(frame); dialog.setSize(300, 200); // Create a timer to display the dialog after TIME_OUT seconds Timer timer = new Timer(1000, e -> { // Hide the dialog dialog.setVisible(false); // Dispatch a WINDOW_CLOSING event to close the dialog dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING)); }); timer.start(); // Set the dialog's content JPanel panel = new JPanel(); panel.add(new JLabel("This is the dialog")); dialog.add(panel); // Make the frame visible frame.setVisible(true); // Display the dialog after TIME_OUT seconds timer.stop(); dialog.setVisible(true); }); } }</code>
이 기술을 사용하면 추가 버튼 없이 중첩된 JDialog를 자동으로 열 수 있습니다. 이 접근 방식은 특히 디스플레이 타이밍이 중요한 경우 간소화되고 직관적인 사용자 경험을 제공합니다.
위 내용은 버튼을 사용하지 않고 타이머를 사용하여 다른 JFrame의 모달리스 JDialog를 표시하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!