我正在使用java swing开发桌面GUI应用程序。我想在同一个窗口(JFrame)上显示几个“子窗口”。我希望布局类似于iGoogle,以便用户可以添加和删除新的子窗口。简单来说,我假设所有“子窗口”都具有相同的大小和相似的内容(所有都显示图表)。顺便说一句,“子窗口”的最大数量不会是一个巨大的数字。我认为它不到8个。
非常感谢你。
仅供参考:iGoogle http://www.google.com.hk/ig
答案 0 :(得分:2)
我不知道iGoogle是什么,但听起来你应该使用内部框架。请参阅How to Use Internal Frames上的Swing教程中的部分。
答案 1 :(得分:0)
如果所有“子窗口”的大小相同且不可拖动,我只需使用简单的布局。使用TableLayout似乎是个好例子。在您知道最大插槽数量的简单情况下,您可以使用8个相应的JPanel并使用表格布局将其添加到Container(确保在用户请求时使用revalidate())。如果用户关闭了一个,您只需将其从容器中删除并重新生效。希望有所帮助。如果你不需要对接功能,甚至不要走这条路是我的建议。
编辑:
您还可以使用自己的鼠标处理程序实现拖放。