我试图将按下的按钮设置为不可见,并将其余部分设置为可见。我使用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
变量来设置其可见性状态,则它会成功运行,但我无法更改按钮可见状态的其余部分。
答案 0 :(得分:1)
我试图将按下的按钮设置为不可见
您有点击的按钮,只是让它不可见。
@Override
public void actionPerformed(ActionEvent e) {
Component button = ((Component) e.getSource());
button.setVisible(false);
java.awt.Toolkit.getDefaultToolkit().beep();
}
无需遍历面板上的所有按钮。