这是情景。
我有代码,当遇到错误时会启动Alram。
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”的情况下丢弃对话框
答案 0 :(得分:1)
要做你想做的事,你应该:
JOptionPane
实例
createDialog
以获取包含此选项窗格的对话框javax.swing.Timer
实例以便在2分钟后触发操作事件答案 1 :(得分:0)
我不知道你所做的事情是否可以完成,但你不能将JOptionPane复制为JFrame并处理掉那个吗?您可以在this上一篇SO帖子
上找到关闭JFrame的方法如果您希望GUI的行为就像 你点击了“X”然后你需要 发送一个windowClosing事件给 窗口。 Closing An Application中的“ExitAction”允许您添加此项 菜单项或任何菜单项的功能 容易使用Actions的组件。