如何为每个menuOption创建InternalFrame,然后在它们之间进行选择

时间:2014-12-30 16:30:34

标签: java swing jinternalframe

我正在使用internalFrames构建GUI。我有一个菜单有不同的选项,每当我选择一个新选项时,我希望它创建该特定的框架。但是,如果我第二次单击该选项时已经创建了“选项框架”,那么我只希望该框架位于其他框架的顶部(因为它们的大小相同,并且将位于彼此的顶部)。 这是我使用的一些方法:

当我点击名为“Home”

的menuOption时,会创建此方法
protected void createFrameHome()
{
    NewFrame frame = new NewFrame();

    desktop.add(frame);
    try {
        frame.setSelected(true);
    } catch (PropertyVetoException e) {
        e.printStackTrace();
    }
}

当我点击名为“Travel”的menuOption

时,会创建此方法
protected void createFrameTravel()
{
    NewFrame frame = new NewFrame();
    frame.getContentPane().add(table, BorderLayout.NORTH);
    desktop.add(frame);
    try {
        frame.setSelected(true);
    } catch (PropertyVetoException e) {
        e.printStackTrace();
    }
}

框架创建:

class NewFrame extends JInternalFrame {
    public NewFrame() {
        setSize(700, 500);
        setVisible(true);
    }
}

现在您可以看到我每次调用这些方法时都会创建一个新帧。我已经尝试了不同的东西让它工作,但似乎没有工作..我有例如使用一个变量,所以它不会创建一个新的框架,但它也不会做frame.setSelected(true);部分。 有没有人知道这方面的方法?我可以以某种方式从之前选择框架吗?

1 个答案:

答案 0 :(得分:0)

通过使用一个变量来解决它,如果创建了框架,则将其设置为true