import javax.swing.*;
public class DialogExample {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(300, 200);
JButton button = new JButton("Show Dialog");
button.addActionListener(e -> {
JOptionPane.showMessageDialog(frame, "Hello, this is a dialog!");
});
frame.add(button);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
// Hide the dialog after 3 seconds
Timer timer = new Timer(3000, e -> {
Window[] windows = Window.getWindows();
for (Window window : windows) {
if (window instanceof JDialog) {
window.setVisible(false);
}
}
});
timer.setRepeats(false);
timer.start();
}
}
在上面的示例中,我們首先創建一個JFrame
并在其上放置一個按鈕。當點擊按鈕時,會顯示一個JOptionPane
對話框。然后通過定時器在3秒后將對話框隱藏。在定時器的回調函數中,我們遍歷所有窗口,如果窗口是JDialog
類型,則將其設置為不可見。