我正在使用Swing和JDK1.7,我希望实现非常简单 任务。我想在一个Button Click上的单独Thread中打开一个Frame。 为此,我设计了一个名为TestThread的类。
public class TestThread implements Runnable {
public TestThread() {
super();
}
private int target = 100;
public void setTarget(int target) {
this.target = target;
}
public int getTarget() {
return target;
}
@Override
public void run() {
setFrame();
}
public void setFrame() {
JFrame frame = new JFrame("Test");
frame.setVisible(true);
}
}
并在按钮上单击,将创建一个新线程并使用ProgressMonitor组件启动。 现在问题是在打开框架后progressMonitor没有关闭。它继续永远奔跑。 我发现启动线程没有关闭,这就是为什么progressMonitor正在进行。
有人可以告诉我这段代码有什么问题。
private void jButton_actionPerformed(ActionEvent e) {
BaseApp.mode = irisApp.mode;
BaseApp.getInstance().setUser(irisApp.getUser());
TestThread test = new TestThread();
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
progressDialog = new ProgressMonitor(this,
"Please wait while system is loading",null, 0, test.getTarget());
progressDialog.setProgress(0);
corpActivityMonitor.setDelay(0);
corpActivityMonitor.start();
Thread thread = new Thread(test);
thread.start();
jButtonCorporation.requestFocus();
}
}
}