如何禁用 JPanel 中的所有组件 [英] How to disable all components in a JPanel

查看:26
本文介绍了如何禁用 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 中的所有组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆