Ich versuche, eine gedrückte Schaltfläche unsichtbar zu setzen und den Rest sichtbar zu setzen. Ich habe getComponents()
Methode verwendet, um die drei Schaltflächen zu erhalten und ändern Sie ihren Sichtbarkeitszustand, aber etwas schief geht.Component Array zurückgegeben von getComponents() -Methode kann geändert werden
@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());
}
}
habe ich format()
Methoden verwendeten Komponenten Sichtbarkeitsstatus zu erhalten. Nach dem Start verschwinden die Programmschaltflächen nicht, aber die Zustände sind korrekt.
Wenn ich button
Variable verwenden, um seinen Sichtbarkeitsstatus zu setzen, wird es erfolgreich ausgeführt, aber ich kann den Rest des Sichtbarkeitsstatus der Schaltflächen nicht ändern.
Entschuldigung. Das meinte ich nicht. Es gibt drei Tasten und nur eine kann unsichtbar sein. – Bruno