Java Swing GUI,根据单击的按钮更改显示。实现这一点的理想方法是什么?

标签 java swing layout jframe jpanel

我对基于 Java 的 GUI 应用程序编程还很陌生。这就是我的想法,我想将窗口分为两个区域。 第一个区域包含按钮(或列表),根据单击的按钮或选择的项目,第二个区域会发生变化。 (按钮数量有限) 像这样的事情:

enter image description here

我可以想到很多方法来做到这一点,但我不确定什么是最佳实践。我是否有几个不可见的面板,并且一次只显示 1 个面板,或者我是否更改顺序(将面板 x 置于前面),或者还有其他方法吗?

感谢我收到的任何帮助!提前致谢!

最佳答案

虽然这主要是基于意见的答案,但我会选择 Nested Layout方法:

  • 主面板带有 BorderLayout 。或者,您可以使用框架的内容 Pane ,该 Pane 已将 BorderLayout 作为默认布局管理器。

  • 左侧面板带有 BoxLayout (或GridBagLayout)。

  • 右侧面板带有 CardLayout

注意:左侧面板中的按钮应切换右侧面板卡。

参见Lesson: Layoing Out Components within a Container教程。

<小时/>

对于复杂的 GUI,您还可以使用第三方布局管理器,如 answer 中列出。 :

关于Java Swing GUI,根据单击的按钮更改显示。实现这一点的理想方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22438775/

相关文章:

java - JPA 查询 LIKE 不起作用

java - 如何设置 PreAuthenticatedAuthenticationProvider?

java - 如何检测对 JTable 行边界的点击?

java - Maven中集成测试模块使用什么打包类型

java - 将 html 文档加载到 JTextPane 使我的编辑器在粘贴时表现非常糟糕

Java 小程序未在浏览器中显示

具有多种颜色的 Android Toast

java - 如何为 GridBagLayout 设置约束

android - 显示附加到 textview 的进度对话框

java - 将 csv 字符串转换为带有双引号键/值的 Map