【问题标题】:swing - How to set assign a Tabbed Pane Tab a Button?swing - 如何设置分配一个选项卡式窗格选项卡一个按钮?
【发布时间】:2016-11-24 11:51:55
【问题描述】:

所以我最近一直在研究 Swing 中的 JTabbedPane 功能,它看起来非常吸引人。但是,我不想拥有那些默认选项卡,而是想知道是否可以将它们分配给按钮。在下图中,我的 GUI 左侧有我的导航菜单。这些图像是 JButton,本质上我想要发生的是,当您单击某个 JButton 时,它会打开一个不同的选项卡式窗格。这可能吗?

Navigation Sidebar

【问题讨论】:

    标签: java swing jbutton jtabbedpane


    【解决方案1】:

    基本上我想要发生的是,当您单击某个 JButton 时,它会打开一个不同的选项卡式窗格。这可能吗?

    当然,您可以将包含按钮的面板添加到框架的 BorderLayout.LINE_START。然后创建另一个使用CardLayout 的面板并将此面板添加到框架的 BorderLayout.CENTER。

    然后将所有面板添加到卡片布局中。

    最后为每个按钮添加一个 ActionListener 以在单击按钮时显示相应的面板。

    阅读 How to Use CardLayout 上的 Swing 教程部分,了解更多信息和工作示例。

    【讨论】:

    • 谢谢!我会试试这个。
    • 所以我尝试了你提到的方法,到目前为止效果很好。但是由于某种原因,我添加到其中一个 JPanel 中的最后一个组件始终位于左侧居中。我不知道为什么。图片:i.imgur.com/3872UQt.png。我最后添加的组件是搜索图标,位于链接图像的底部。这是右侧 JPanel 类的代码:bit.ly/2gqcBwJ。这是我管理 BorderLayout 的 Window 类:bit.ly/2gI7vwe。我做错了什么?
    • 这也只发生在那个JPanel中。由于某种原因不是其他人,我不知道为什么。可能是因为它在中心边框布局位置上还是什么? @camickr
    • 问题出在你的布局管理器上。但我不知道你的代码是什么样的,所以我无法就如何修复它提出任何建议。创建一个适当的minimal reproducible example 以尝试复制问题。如果您无法解决问题,那么当您提出另一个问题时,您可以发布简单的代码。您提出的原始问题已解决。
    猜你喜欢
    • 2023-03-31
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多