1 21 22 package org.armedbear.j; 23 24 import javax.swing.SwingUtilities ; 25 26 public class IdleThreadTask implements Runnable 27 { 28 private Runnable runnable; 29 private boolean invokeLater; 30 private long idle; 31 32 public IdleThreadTask() 33 { 34 } 35 36 public IdleThreadTask(Runnable runnable, long idle, boolean invokeLater) 37 { 38 this.runnable = runnable; 39 this.idle = idle; 40 this.invokeLater = invokeLater; 41 } 42 43 public void setRunnable(Runnable runnable) 44 { 45 this.runnable = runnable; 46 } 47 48 public synchronized final long getIdle() 49 { 50 return idle; 51 } 52 53 public synchronized final void setIdle(long idle) 54 { 55 this.idle = idle; 56 } 57 58 public final void setInvokeLater(boolean b) 59 { 60 invokeLater = b; 61 } 62 63 public final void run() 64 { 65 if (runnable != null) { 66 if (invokeLater) 67 SwingUtilities.invokeLater(runnable); 68 else 69 runnable.run(); 70 } 71 } 72 } 73 | Popular Tags |