【问题标题】:Setting multiple jPanels to invisible at the same time同时将多个 jPanel 设置为不可见
【发布时间】:2011-08-24 14:49:59
【问题描述】:

我正在尝试将大约 144 个 jPanel 全部设置为 setVisible(false),我想一次性完成所有操作,而不是 jPanel1.setVisible(false); 144 次。有没有更简单的方法来做到这一点? 我试图将面板放在一个数组中,但是我在 netbeans 上使用 GUI swing 并且当我将它们放入 jFrame 时已经声明了 jPanel,当我尝试将它们放入数组并使用 for 循环时,我得到了一个空指针错误。

这可能很简单,但我浏览了整个网络,甚至找不到关于它的主题。

再次尝试将 jFrame 中的多个(准确地说是 144 个)jPanel 一次设置为可见 false。

【问题讨论】:

  • "about 144 jPanels" 与您的问题无关,但什么 GUI 需要总计 JPanel 个对象?!?
  • 我对这种情况下的性能有些怀疑(但这也很大程度上取决于每个 JPanel 包含的内容)。考虑使用与 Swing 用于 JList、JTable 和 JTree 相同的“技巧”可能会很有用:CellRenderer 是用作“橡皮图章”的单个组件。

标签: java swing jpanel


【解决方案1】:

为什么不为那些 JPanel 设置一个 JPanel 父级并隐藏它?

【讨论】:

    【解决方案2】:

    您可以从根窗格或公共父级开始,沿着层次结构查找具有公共属性值的面板。几乎我工作的每一个摇摆应用程序都会在某个地方添加一个 find(Container, Predicate) 辅助函数。

    【讨论】:

      猜你喜欢
      • 2013-06-22
      • 1970-01-01
      • 2011-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      相关资源
      最近更新 更多