Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. Thread.sleep(10000);
  2.  
  3. import java.awt.AWTEvent;
  4. import java.awt.Component;
  5. import java.awt.EventQueue;
  6. import java.awt.Toolkit;
  7. import java.awt.Window;
  8. import java.awt.event.AWTEventListener;
  9. import java.awt.event.ActionEvent;
  10. import java.awt.event.ActionListener;
  11. import javax.swing.JFrame;
  12. import javax.swing.JLabel;
  13. import javax.swing.SwingUtilities;
  14. import javax.swing.Timer;
  15. import javax.swing.UIManager;
  16. import javax.swing.UnsupportedLookAndFeelException;
  17.  
  18. public class AutoClose {
  19.  
  20. public static void main(String[] args) {
  21. new AutoClose();
  22. }
  23.  
  24. private Timer timer;
  25. private JLabel label;
  26. private JFrame frame;
  27.  
  28. public AutoClose() {
  29. EventQueue.invokeLater(new Runnable() {
  30. @Override
  31. public void run() {
  32. try {
  33. UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  34. } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
  35. }
  36.  
  37. label = new JLabel("Waiting...");
  38. frame = new JFrame("Testing");
  39. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  40. frame.add(label);
  41. frame.setSize(200, 200);
  42. frame.setLocationRelativeTo(null);
  43. frame.setVisible(true);
  44.  
  45. Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
  46.  
  47. private int count;
  48.  
  49. @Override
  50. public void eventDispatched(AWTEvent event) {
  51. Object source = event.getSource();
  52. if (source instanceof Component) {
  53. Component comp = (Component) source;
  54. Window win = null;
  55. if (comp instanceof Window) {
  56. win = (Window) comp;
  57. } else {
  58. win = SwingUtilities.windowForComponent(comp);
  59. }
  60. if (win == frame) {
  61. timer.restart();
  62. label.setText("Interrupted..." + (++count));
  63. }
  64. }
  65. }
  66. }, AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK | AWTEvent.MOUSE_WHEEL_EVENT_MASK);
  67.  
  68. timer = new Timer(5000, new ActionListener() {
  69. @Override
  70. public void actionPerformed(ActionEvent e) {
  71. frame.dispose();
  72. }
  73. });
  74. // You could use a WindowListener to start this
  75. timer.start();
  76. }
  77. });
  78. }
  79.  
  80. }
  81.  
  82. private long time;
  83.  
  84. ...
  85.  
  86. long eventMask = AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK;
  87.  
  88. Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
  89. public void eventDispatched(AWTEvent e) {
  90. time = System.currentTimeMillis();
  91. }
  92. }, eventMask);
  93.  
  94. time = System.currentTimeMillis();
  95. new Thread(new Runnable() {
  96.  
  97. @Override
  98. public void run() {
  99. while (true) {
  100. if (System.currentTimeMillis() - time > 10000) {
  101. widnow.dispose();
  102. break;
  103. }
  104. }
  105. }
  106. }).start();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement