setVisible() von mehreren Elementen gleichzeitig

Hallo,

ich möchte mehrere Elemente gleichzeitig sichtbar/unsichtbar schalten.

bisher habe ich immer mit:

jTextField1.setVisible(true);

gearbeitet. Da ich aber schon alleine über 30 Textfelder habe und es noch mindestens die gleiche Zahl an Labels gibt entsteht sehr viel Quellcode.

Gibt es eine Möglichkeit diese Elemente zusammen zu fassen?

MfG PantherX2

Hi,

wenns dir nur darum geht Code zu sparen und nicht jedes mal .setVisible(…) zu schreiben dann pack doch den ganzen Kram in eine Methode rein und ruf die dann immer auf wenn du wechseln willst. Beispielsweise so:

private void switchVisibility(boolean b ) {
b1.setVisible(b);
b2.setVisible(b);
}

Grüße

Hallo!

Es gibt einige Möglichkeiten. Hängt von den Gegebenheiten ab. Du könntest die betreffenden Komponenten in ein Array packen und dann darüber eine Schleife laufen lassen.

 JLabel l1 = new JLabel("111");
 JLabel l2 = new JLabel("222");
 // usw.
 frame.add(l1); frame.add(l2); frame.add(l3); frame.add(l4); frame.add(l5); 
 JComponent[] lbls = {l1,l4,l5};
 for ( int i = 0; i 
Oder du packst die Komponenten von vornherein in ein Array, statt einzelne Variablen zu nutzen. Oder, wenn alle betreffenden Komponenten im gleichen Panel o.Ä. liegen, holst du sie dir über .getComponents() und kannst dann wieder eine Schleife verwenden.

Jan