我可以将JInternalFrame添加到JPanel吗?

时间:2014-10-04 16:13:29

标签: java swing

似乎JInternalFrames只能添加到JDesktopPane,您必须将JFrame的内容窗格设置为该JDesktopPane。类似的东西:

JFrame frame = new JFrame();
JDesktopPane desktopPane = new JDesktopPane();
JInternalFrame internalFrame = new JInternalFrame();

desktopPane.add(internalFrame);
frame.setContentPane(desktopPane);

问题是允许JInternalFrames移动我添加到JFrame的任何内容,例如JPanels。

我有没有办法将JInternalFrames / JDesktopPane添加到像JPanel这样的其他内容?这样我就可以将JInternalFrame限制在该JPanel中。如果那是不可能的,那么我还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

您可以将任何对象添加到扩展JComponent的JPanel。例如:

JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 300, 300);
window.setVisible(true);
window.setSize(600, 400);

JDesktopPane desktopPane = new JDesktopPane();
JInternalFrame internalFrame = new JInternalFrame();        
JPanel mainPanel = new JPanel();
mainPanel.add(desktopPane);
mainPanel.add(internalFrame);
window.add(mainPanel);
希望有所帮助!