- 论坛徽章:
- 0
|
来自专家Leon的答复: Netbeans 中该部分运用了新的 Swing 框架 JSR-296,要与该 progressbar 联系,应该产生新的 Task, 在Task中调用 setProgress()即可。下面给了一个简单的事例,你点击 "About"菜单可以看到 Progress 的变化:
@Action public Task showAboutBox() {
return new RefreshTask(DesktopApplication2.getApplication());
}
private class RefreshTask extends Task {
RefreshTask(org.jdesktop.application.Application app) {
super(app);
}
@SuppressWarnings("unchecked")
@Override protected Void doInBackground() {
try {
setProgress(0, 0, 4);
setMessage("Rolling back the current changes...");
setProgress(1, 0, 4);
Thread.sleep(1000L); // remove for real app
setProgress(2, 0, 4);
setMessage("Starting a new transaction...");
Thread.sleep(500L); // remove for real app
setProgress(3, 0, 4);
setMessage("Fetching new data...");
Thread.sleep(1300L); // remove for real app
setProgress(4, 0, 4);
Thread.sleep(1500L); // remove for real app
} catch(InterruptedException ignore) { }
return null;
}
@Override protected void finished() {
setMessage("Done.");
}
} |
|