java swing addTaskListener
我是java新手,有一个swing任务问题 我可以将侦听器添加到当前正在运行的任务中吗?例如,如果在doInBackGround中发生了什么,我想为finished添加一个侦听器并显示一个对话框。我试过了,但编译器不喜欢我。:) 差不多java swing addTaskListener,java,swing,data-binding,javabeans,Java,Swing,Data Binding,Javabeans,我是java新手,有一个swing任务问题 我可以将侦听器添加到当前正在运行的任务中吗?例如,如果在doInBackGround中发生了什么,我想为finished添加一个侦听器并显示一个对话框。我试过了,但编译器不喜欢我。:) 差不多 private class MyTask extends Task<Void, Void>{ @Override public void doInBackground(){ if(foo == foo){ this.
private class MyTask extends Task<Void, Void>{
@Override
public void doInBackground(){
if(foo == foo){
this.addTaskListener(new TaskListener() {
public void taskFinsished(){}...
});
}
}
}
私有类MyTask扩展了任务{
@凌驾
公共无效doInBackground(){
如果(foo==foo){
this.addTaskListener(新TaskListener()){
public void taskFinsished(){}。。。
});
}
}
}
谢谢,Task不是面向侦听器的组件。您需要重写它的一个或多个方法以获得结果。所有这些方法都将在EDT上执行 cancelled()-调用了
cancel()
方法来终止任务
成功(T result)-任务已完成,结果保存doInBackground()
的返回值
中断(InterruptedException e)-中断
是在执行任务的线程上调用的
失败(可丢弃原因)-doInBackground
引发异常
finished()-任务已完成(以某种方式)。将其视为任务
的最终
的功能等价物,为什么不将其添加到MyTask的构造函数中?