【问题标题】:How do I switch panels inside a frame depending on a button action?如何根据按钮操作在框架内切换面板?
【发布时间】:2009-05-08 17:15:43
【问题描述】:

我创建了一个具有工具栏、菜单栏和内容区域的应用程序。我已将菜单和工具栏添加到应用程序窗口,但我坚持根据通过工具栏单击的按钮操作(如添加、显示)在内容区域中显示面板。这是正确的方法吗?有没有更好的方法来做到这一点?

【问题讨论】:

    标签: java swing event-handling jpanel jbutton


    【解决方案1】:

    如果我理解正确,您想要多个JPanels,一次只显示一个?如果是这种情况,听起来CardLayout 就是您所需要的。你基本上add你所有的JPanels给它一个唯一的名字,然后你可以告诉CardLayout其中的show

    【讨论】:

    • 谢谢,这听起来不错,我会试一试。我从来没有想过这一点,我试图将一个 Jpanal 变量分配给一个内容区域窗格,然后根据按下的按钮更改 Jpanel 变量的值。
    【解决方案2】:

    我认为 CardLayout 可能是您想要的,但是如果您担心内存使用等问题并且您确实想要删除并添加新的 JPanel/组件,则需要删除旧的 JPanel 并添加新的 JPanel(使用适当的约束和/或索引取决于布局)。进行切换后,您必须 validate() 内容窗格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 2020-11-18
      • 1970-01-01
      • 2015-03-16
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多