【发布时间】: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 变量设置其可见性状态,它会成功运行,但我无法更改其余按钮的可见性状态。
【问题讨论】:
标签: java swing awt jbutton visibility