getComponents() 方法返回的组件数组可以更改
Posted
技术标签:
【中文标题】getComponents() 方法返回的组件数组可以更改【英文标题】:Component array returned by getComponents() method can be changed 【发布时间】:2017-07-16 17:08:53 【问题描述】:我正在尝试将按下的按钮设置为不可见,并将其余按钮设置为可见。我使用getComponents()
方法来获取三个按钮并更改其可见性状态,但出现了问题。
@Override
public void actionPerformed(ActionEvent e)
Component button = ((Component) e.getSource());
for (Component component : view.getComponents())
if (component instanceof JButton)
if (component.getName().equals(button.getName()))
System.out.format("Pressed button: %s%n", button.getName());
component.setVisible(false);
else
component.setVisible(true);
java.awt.Toolkit.getDefaultToolkit().beep();
view.revalidate();
for (Component component : view.getComponents())
System.out.format("%s is visible: %s%n", component.getName(), component.isVisible());
我使用format()
方法来获取组件的可见性状态。启动后程序按钮不会消失,但状态正确。
如果我使用button
变量设置其可见性状态,它会成功运行,但我无法更改其余按钮的可见性状态。
【问题讨论】:
【参考方案1】:我正在尝试将按下的按钮设置为不可见
你有被点击的按钮,所以让它不可见。
@Override
public void actionPerformed(ActionEvent e)
Component button = ((Component) e.getSource());
button.setVisible(false);
java.awt.Toolkit.getDefaultToolkit().beep();
无需遍历面板上的所有按钮。
【讨论】:
对不起。我不是那个意思。一共有三个按钮,只有一个可能不可见。以上是关于getComponents() 方法返回的组件数组可以更改的主要内容,如果未能解决你的问题,请参考以下文章
当从数组呈现ReactJS组件时,组件的onChange函数将传递最后一个参数值