1

我们可以JInternalFame在主框架中使用带有按钮的 a 吗?框架包含一个JDesktopPane,当然。该按钮应该打开JInternalFrame如何?

4

2 回答 2

6

我不知道将 aJButton直接放在 a 上的方法JDesktopPane,但是您可以使用菜单项来创建和选择 a JInternalFrame。在这个例子中,每个菜单项使用一个Action在 中定义的JInternalFrame来选择相应的框架。

class MyFrame extends JInternalFrame {

    private Action action;

    MyFrame(JDesktopPane desktop, String name, int offset) {
        …
        action = new AbstractAction(name) {
            @Override
            public void actionPerformed(ActionEvent ae) {
                try {
                    MyFrame.this.setSelected(true);
                } catch (PropertyVetoException e) {
                    e.printStackTrace();
                }
            }
        };
    }

    public Action getAction() { return action; }
}

附录:正如@camickr 建议的那样,在技术上可以JButton直接将 a 放在 a 上JDesktopPane,但在实践中可能难以使用。

于 2010-04-30T01:04:50.800 回答
2

我不太明白这个问题,所以我只是做一些观察。

a) JInternalFrme 就像一个框架,您可以在其中添加任何您想要的组件

b) 无论是添加到内部框架还是框架中,JButton 的工作方式都相同

我建议您首先阅读Swing 教程以获取工作示例。您可以从“如何使用内部框架”和“如何使用按钮”部分开始。

如果您仍然有问题,请发布您的SSCCE,以显示您已尝试过的内容。

于 2010-04-29T23:58:09.087 回答