1

所以,我正在重写我编写的一个程序,我意识到以下内容真的可以帮助我:我可以让两个 JPanel 相互平行(垂直),它们在同一个 jFrame 中同时可见。我希望上面板比下面板短得多(但同样宽,就像工具栏一样)。这可能吗?如果是这样,我可以得到它,以便在用户需要时(不影响上面板)将下面板更改为不同的面板(显示不同的数据)?

所以基本上我要问的是:

  • 我可以在一个 JFrame 上有两个 JPanel 吗?一个开始,另一个结束;并且都可见?
  • 我可以在多个较低的面板之间切换(根据用户要求)吗?它可以有效地完成吗(每个面板上都有很多事情发生)?
4

2 回答 2

2

我希望上面板比下面板短得多(但同样宽,就像工具栏一样)。这可能吗?

是的。将它们都放在使用 BorderLayout 的 JPanel 中,并将顶部 JPanel 放在 BorderLayout.PAGE_START 位置,将下部 JPanel 放在 BorderLayout.CENTER 位置。

如果是这样,我可以得到它,以便在用户需要时(不影响上面板)将下面板更改为不同的面板(显示不同的数据)?

如果你想在下部区域交换“视图”,那么考虑让下部 JPanel 使用 CardLayout,给它几个“卡片”JPanels,然后使用 CardLayout 的方法交换它显示的卡片 JPanel。

编辑:不要忘记学习布局管理器教程以获取更多信息。

于 2013-10-17T22:41:11.717 回答
1

是的,你可以像这样在 JFrame 上添加更多 JPanel 。你应该看看像gridbaglayout,boxlayout,flowlayout这样的布局......

于 2013-10-17T22:36:35.563 回答