【问题标题】:Removing JPanel from a JFrame in NetBeans在 NetBeans 中从 JFrame 中删除 JPanel
【发布时间】:2011-02-23 02:05:30
【问题描述】:

我有几个包含按钮、标签等的 JPanel,我想在主 JFrame 之间切换。目前我正在尝试将this.add(JPanelname); 方法和this.remove(JPanelname);validate();repaint(); 方法一起使用

问题是它会将面板添加到JFrame,但不会将其删除。我不确定该怎么做。

【问题讨论】:

    标签: java swing netbeans jframe jpanel


    【解决方案1】:

    也许您应该使用Card Layout

    或者也许您应该使用模态 JDialogs。因此,每当您单击“widjet”时,都会显示一个新窗口。然后,当您关闭对话框时,您将返回主框架。

    【讨论】:

      【解决方案2】:

      如果您经常在 JPanel 之间切换,那么JTabbedPane 可能是正确的选择。添加或删除 JPanel 时,不必调用“验证”或“重绘”。您是否安装了布局管理器?您是否确保仅在 UI 事件线程中调用添加/删除?此外,通常不调用“validate()”而是调用“invalidate()”来使容器失效以进行更新。

      【讨论】:

      • 感谢您的快速响应! JTabbedPane 不完全是我想要的外观,我应该更彻底地描述它。我有一个用作桌面的主窗格,我想您可以将其称为按钮就像小部件一样,单击时将加载程序的单独部分(即设置屏幕),然后当用户完成时,他们可以点击一个后退按钮,然后面板将关闭(可能从框架中移除,然后重新绘制框架?)并且主屏幕将再次显示。我可能会以错误的方式解决这个问题,希望这能让它更清楚
      猜你喜欢
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 2011-06-02
      相关资源
      最近更新 更多