gpt4 book ai didi

Java - 隐藏所有 JButton

转载 作者:行者123 更新时间:2023-11-30 09:10:23 25 4
gpt4 key购买 nike

我有什么方法可以隐藏类中的所有 JButtons 而不必单独设置 myButton.setVisible(false);

我正在寻找可以用 1 行代码将它们全部隐藏而无需不断更新 JButton 列表的东西。

如果有人知道使这成为可能的方法,我们将不胜感激。

最佳答案

从Root Component开始,使用recursive函数遍历所有底层组件,隐藏所有JButton

用于隐藏所有 JFrameJPanel 或两者中添加的所有 JButton 的示例代码。

注意:也为其他组件扩展递归功能。

只需调用 hide() 方法即可处理这个 stub 。

public  void hide(Component parent) {
if (parent instanceof JFrame) {
JFrame frame = (JFrame) parent;
for (int i = 0; i < frame.getContentPane().getComponentCount(); i++) {
Component comp = frame.getContentPane().getComponent(i);

if (comp instanceof JButton) {
comp.setVisible(false);
} else {
hide(comp);
}
}
} else if (parent instanceof JPanel) {
JPanel panel = (JPanel) parent;
for (int i = 0; i < panel.getComponentCount(); i++) {
Component comp = panel.getComponent(i);
if (comp instanceof JButton) {
comp.setVisible(false);
} else {
hide(comp);
}
}
}
}

关于Java - 隐藏所有 JButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com