Java JOptionPane.showMessageDialog查询?
情况就是这样 我有一段代码,在遇到错误时初始化AlramJava JOptionPane.showMessageDialog查询?,java,swing,joptionpane,Java,Swing,Joptionpane,情况就是这样 我有一段代码,在遇到错误时初始化Alram AudioAlarm t = new AudioAlarm(song); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Awake
AudioAlarm t = new AudioAlarm(song);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Awake");
t.start();
setRunnung(true);
JOptionPane.showMessageDialog(null, "Alarm ...", "Alarm", JOptionPane.OK_OPTION);
AudioAlarm.setLoop(false);
System.out.println("Alarm Acknowledged ...");
我想以这种方式重新设计这个逻辑
如果用户在一段时间内(比如2分钟)未确认报警,则报警将关闭,消息消息对话框应消失
我怎样才能得到这个
我可以停止Alram,但是如果用户没有按“OK”键,我就无法处理对话框。我不知道您要做的事情是否可以完成,但是您不能将JOptionPane复制为JFrame并处理掉它吗?您可以找到如何在上一篇SO文章中关闭JFrame: 如果您希望GUI表现为 您单击了“X”,然后需要 将windowClosing事件分派到 窗户。来自的“ExitAction”允许您添加此选项 菜单项或任何菜单项的功能 易于使用操作的组件
要想做你想做的事,你应该:
- 使用其构造函数之一创建一个
实例JOptionPane
- 在此选项窗格上调用
,以获取包含此选项窗格的对话框createDialog
- 使用
实例在2分钟后触发操作事件javax.swing.Timer
- 将操作侦听器添加到此计时器,该计时器将关闭包含选项窗格的对话框
- 显示包含选项窗格的对话框