单独显示Dialog略奇怪,所以我用JFrame做例子,原理是一样的建立一个线程,睡3秒,醒来后就把JFrame窗体关闭。给JFrame加事件监听,包括所有你想监听的事件,我这里为了简便,只监听了鼠标单击。一旦事件发生,则吵醒那个线程,这样它就睡不足3秒,并且直接进入下一个迭代,继续睡3秒。直到有一次单击后3秒内没有操作,这时候线程不会触发InterruptedException 异常,就会执行关闭窗体的操作import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JFrame;public class DummyTest { public static void main(String[] args) { final JFrame frame = new JFrame(); final Thread thread = new Thread(new Runnable() { public void run() { while (true) { try { Thread.sleep(3000); frame.dispose(); return; } catch (InterruptedException e) {} } } }); frame.setSize(400, 400); frame.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { System.out.println("clicked"); thread.interrupt(); } }); frame.setVisible(true); thread.start(); }}
java窗口自动关闭_Java怎么实现一个窗口在用户3秒后不进行任何操作的情况下自动关闭啊。最好有例子代码啊,求教了啊!!...
最新推荐文章于 2022-07-13 16:00:14 发布