0

我正在使用 java swing 开发桌面 GUI 应用程序。我想在同一个窗口(JFrame)上显示几个“子窗口”。我希望布局类似于 iGoogle,以便用户可以添加和删除新的子窗口。简单起见,我假设所有“子窗口”都具有相同的大小和相似的内容(都显示图表)。顺便说一句,“子窗口”的最大数量不会是一个巨大的数字。我认为它小于8。

  1. 如果没有拖放,我可以只使用网格布局来实现吗?
  2. 如果有拖放,那么简单的方法是什么?

非常感谢你。

仅供参考:iGoogle http://www.google.com.hk/ig

4

2 回答 2

2

我不知道 iGoogle 是什么,但听起来您应该使用内部框架。请参阅 Swing 教程中有关如何使用内部框架的部分。

于 2011-07-28T15:11:24.697 回答
0

如果所有“子窗口”大小相同且不可拖动,我将使用简单的布局。似乎是使用TableLayout的好案例。在您知道最大插槽数量的简单情况下,您可以拥有 8 个相应的 JPanel,并在用户请求时使用表格布局将它们添加到 Container(确保 revalidate())。如果用户关闭了一个,您只需将其从容器中删除并重新验证。希望有帮助。如果您不需要对接功能,我的建议是不要走那条路。

编辑:

您还可以使用自己的鼠标处理程序来实现拖放。

于 2011-07-28T15:41:33.150 回答