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
类型,则将其设置为不可见。