启动Frame

时间:2015-12-02 10:43:28

标签: java multithreading swing

我正在使用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();

      }
    }
 }

0 个答案:

没有答案