下面列出了javax.swing.SwingWorker#addPropertyChangeListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void runInEdt(SwingWorker<?, ?> runnable,String name) {
runnable.execute();
Chrono c = new Chrono();
runnable.addPropertyChangeListener((PropertyChangeEvent ev)->{
if(ev.getNewValue().toString().equals("STARTED"))
{
c.start();
logger.trace(name+"\t"+ev.getSource()+"\t STARTED");
}
if(ev.getNewValue().toString().equals("DONE"))
logger.trace(name+"\t"+ev.getSource().getClass().getName()+"\t FINISHED IN "+c.stopInMillisecond()+"ms.");
});
}
private void blockSwingWithProgressDialog(final SwingWorker<T, Object> localWorker) {
if (!localWorker.isDone()) {
TaskDialog dialog = new SwingWorkerTaskDialog(name, hasProgress, localWorker);
taskMonitor.setBlockingMonitor(dialog);
localWorker.addPropertyChangeListener(new SwingWorkerCompletionWaiter(dialog));
dialog.show(taskDialogDelay);
}
}
public void attachPropertyChangeListener(SwingWorker<?, ?> swingWorker) {
swingWorker.addPropertyChangeListener(swingWorkerPropertyChangeAdapter);
}
/**
* @inherited
*/
@Override
public void attachPropertyChangeListener(SwingWorker<?, ?> swingWorker) {
swingWorker.addPropertyChangeListener(swingWorkerAdapter);
}