我们可以在主框架中使用带有按钮的JInternalFame
吗?当然,框架包含JDesktopPane
。该按钮应该打开JInternalFrame
如何?
答案 0 :(得分:6)
我不知道如何将JButton
直接放在JDesktopPane
上,但您可以使用菜单项来创建和选择JInternalFrame
。在此example中,每个菜单项都使用JInternalFrame
中定义的Action
来选择相应的框架。
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
直接放在JDesktopPane
上,但实际上可能难以使用。
答案 1 :(得分:2)
我真的不明白这个问题所以我只会做一些观察。
a)JInternalFrme就像一个框架,你可以在其中添加你想要的任何组件
b)无论是添加到内部框架还是框架
,JButton的工作方式都相同我建议您先阅读Swing tutorial了解工作示例。您可以从“如何使用内部框架”和“如何使用按钮”部分开始。
如果您仍有问题,请发布显示您尝试过的SSCCE。