【发布时间】:2014-10-04 16:13:28
【问题描述】:
似乎 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 之类的其他东西上?这样我就可以将 JInternalFrames 限制在该 JPanel 内。如果这不可能,那我还有什么其他选择?
【问题讨论】:
-
JDesktopPane 是一个 JComponent。 AFAIK,您可以将它作为任何其他 JComponent 添加到 JFrame 或 JPanel 中。我没有在文档中看到任何说明 JDesktopPane 必须设置为 JFrame 的内容窗格的内容。
-
您可以通过此链接尝试解决方案:coderanch.com/t/342586/GUI/java/JinternalFrame-moveable
-
或者这个example。