How to disable all components in a JPanel(如何禁用 JPanel 中的所有组件)
问题描述
在我的 JPanel 中,我有许多组件,包括其他 JPanel、JLabels、JTextAreas 和 JButton.因为我想实现一个教程模式,其中出现另一个窗口并且我的主 JPanel 中的所有内容都被禁用,因为新窗口一个一个地解释了每个功能"......我想知道如何禁用我里面的所有组件原始JPanel.我知道你可以使用:
In my JPanel I have many components, including other JPanels, JLabels, JTextAreas, and JButtons. Becuase I want to implement a tutorial mode where another window appears and everything in my main JPanel is disabled as the new window explains each 'feature' one by one... I want a to know how to disable all the components that are inside my origiinal JPanel. I know you can use:
component.setEnabled(false);
但我不想为我的 JPanel 中的每个组件编写它.我想知道是否可以使用 for 循环或其他方式禁用我的 JPanel 中的所有组件?
But I don't want to write it for each component in my JPanel. I would like to know if it's possible to disable ALL components within my JPanel with a for loop or something?
注意:嵌套的 JPanel 中也有组件,就像顺序一样
Note: There are also component in nested JPanels, like the order would be
主 JPanel ---> 嵌套 JPanel ---> 组件
Main JPanel ---> Nested JPanel ---> Component
我还希望最终组件也被禁用...
I also want the Final components to also be disabled...
谢谢!感谢所有帮助!
推荐答案
查看 禁用面板有几个解决方案.
Check out Disabled Panel for a couple of solutions.
一个使用禁用的 GlassPane 类型的方法,另一个递归地禁用组件,同时跟踪组件的当前状态,以便以后可以正确启用.
One uses a disabled GlassPane type of approach and the other recursively disables components while keep track of the components current state so it can be enable properly later.
这篇关于如何禁用 JPanel 中的所有组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何禁用 JPanel 中的所有组件
基础教程推荐
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 降序排序:Java Map 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01