jInternalFrame没有带到前面

时间:2014-04-19 17:20:39

标签: java jinternalframe jdesktoppane

我有一个JDesktopPane,它包含许多JInternalFrame。我第一次按一个按钮到可见的jinternalframe1和第二个按钮到可见的jinternalframe2,它出现在主窗口上方没有问题。但是,如果按下其中一个按钮重新打开jinternalframe1或jinternalframe2,它们就不会被带到主窗口的前面...

编辑:实际上,我无法对jinternalframe做任何事情点击按钮...我只能点击按钮一次,然后不能通过按钮对jinternalframe执行任何操作..为什么它不起作用!!

这是button1的编码......

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
{                                             
    jinternalframe1 frame1 = new jinternalframe1();

    try {

        if(Allow.flag == false) {

            desktopPane.add(frame1);
            frame1.setVisible(true);
            Allow.flag = true;

        } else if(Allow.flag == true) {

            frame1.setSelected(true);

        }
    } catch(PropertyVetoException e) {
        System.out.println(e);
    }
}

Allow.java

public class Allow {
    static boolean flag = false;
}

1 个答案:

答案 0 :(得分:0)

每次单击该按钮都会创建一个新的JInternalFrame对象,但您只需将创建的第一个内部框架添加到桌面窗格中。

不要继续创建新的内部框架对象。我猜你应该只在你的“frame1”变量为空时创建内部框架。

如果您需要更多帮助,请发布展示问题的正确SSCCE