java中的许多框架 - 当我点击按钮时尝试打开一个新窗口

时间:2017-03-15 13:04:18

标签: java swing frame

当我点击按钮时,我正在尝试打开一个新窗口。在这个新窗口中有一个表单。表单包含用于在第一个窗口中创建JScrollPane的信息。我想在用户完成表单中的所有元素时创建JScrollPane。我尝试使用Thread,但这不起作用。

这是我的代码:

f(e.getSource() == menuAjoutern){
        JScrollPane scrollpane;
        nomniveaux++;

        Frame p = new Frame();
        p.setContentPane(new PanelInfoCrea());
        p.setVisible(true);

        /*Thread t = new Thread(new Runnable() {

            @Override
            public void run() {
                Frame p = new Frame();
                p.setContentPane(new PanelInfoCrea());
                p.setVisible(true);

            }
        });
        t.start();


        Frame.creation = true;
        while(Frame.creation) {
            try {
                System.out.println("oui");
                Thread.sleep(1);
            } catch (InterruptedException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }*/
        scrollpane = new JScrollPane(Frame.p.getListeNiveau().get(Frame.p.getListeNiveau().size()-1).dessinerPlateauCreation(this.getWidth(), this.getHeight(), hauteur));
        pane.add("niveau "+nomniveaux ,scrollpane);
    }

这里我尝试等待boolean为false来创建JScrollPane。第二个窗口关闭时的布尔更改状态。你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

第二个窗口应该是模态JDialog或JOptionPane(实际上是模态对话框)。这样,当第二个窗口显示时,调用代码将停止,直到第二个窗口不再可见时才会恢复。