Java 启动框架后线程未关闭
我将Swing与JDK1.7一起使用,我希望实现非常简单的 任务我想打开一个单独的线程在一个按钮点击帧。 为此,我设计了一个名为TestThread的类Java 启动框架后线程未关闭,java,multithreading,swing,Java,Multithreading,Swing,我将Swing与JDK1.7一起使用,我希望实现非常简单的 任务我想打开一个单独的线程在一个按钮点击帧。 为此,我设计了一个名为TestThread的类 public class TestThread implements Runnable { public TestThread() { super(); } private int target = 100; public void setTarget(int target) { th
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();
}
}
}
“我想打开一个框架内的单独线程一个按钮点击”-不要。Swing是一个单线程框架,它也不是线程安全的。您应该只在事件调度线程的上下文中创建和更新UI组件。查看更多信息details@Naveen当你关闭()你的ProgressBar时,你会看到“我想点击一个按钮就在单独的线程中打开一个框架”-不要。Swing是一个单线程框架,它也不是线程安全的。您应该只在事件调度线程的上下文中创建和更新UI组件。查看更多信息details@Naveen在哪里关闭()您的ProgressBar查看