Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #13222

Re: Java Swing: alle Elemente eines JFrames durchlaufen

From Patrick Roemer <sangamon@netcologne.de>
Newsgroups de.comp.lang.java
Subject Re: Java Swing: alle Elemente eines JFrames durchlaufen
Date 2018-11-28 22:46 +0100
Organization news.netcologne.de
Message-ID <ptn2c1$6h9$1@newsreader4.netcologne.de> (permalink)
References <90ktvdt94icmm7d1vk9nrakimqstaa0ojo@4ax.com>

Show all headers | View raw


Responding to Rainer:
> Ich habe hier
> https://www.java-forum.org/thema/alle-elemente-eines-panels.92257/
> 
> eine Lösung gefunden, um den Text aller Textfelder zusetzen
> 
> Component[] components = xy.getComponents();
> for(Component c : components)       {
>    if(c instanceof JTextField) {
>    JTextField txf = (JTextField) c;
>    txf.setText("mein Text");
> } 
> 
> Das könnte ich sicherlich für meine Zwecke anpassen
> (z. B. alle Optionsfelder ein- oder ausschalten, etc.)
> 
> Nur scheint das o. g. Beispiel für AWT zu passen.
> 
> Wie lautet eine Version für SWING? (javax.swing.JFrame)
> Was muss ich z. B. anstelle von 'Component' verwenden?

Swing basiert auf AWT; alle Swing-Elemente sind auch AWT-Components. Da
JTextFields gesucht werden, zielt das Beispiel offenkundig auf Swing.

Dieser Code durchläuft allerdings nur die direkt enthaltenen
Komponenten. Üblicherweise hat man es aber mit einem Komponentenbaum zu
tun. Bei einem JFrame z.B. dürftest Du damit lediglich eine JRootPane
erwischen; Textkomponenten liegen tiefer. Du bräuchtest also noch eine
Art rekursiven Abstieg für gefundene (AWT-)Container, um überhaupt zu
Textfeldern vorzustoßen.

Bliebe noch die Frage, wozu man sowas überhaupt braucht. Um etwa
Checkboxes/RadioButtons (~ Optionsfelder?) gruppiert zu kontrollieren,
gibt es sicherlich bessere Möglichkeiten - z.B. sie gleich bei Erzeugung
in einer geeigneten Collection vorzuhalten.

Viele Grüße
Patrick

Back to de.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Java Swing: alle Elemente eines JFrames durchlaufen Rainer <Rainer.Poop@Rcpt.at> - 2018-11-28 18:36 +0100
  Re: Java Swing: alle Elemente eines JFrames durchlaufen Patrick Roemer <sangamon@netcologne.de> - 2018-11-28 22:46 +0100
    Re: Java Swing: alle Elemente eines JFrames durchlaufen Rainer <Rainer.Poop@Rcpt.at> - 2018-11-29 15:48 +0100
      Re: Java Swing: alle Elemente eines JFrames durchlaufen Patrick Roemer <sangamon@netcologne.de> - 2018-11-30 14:38 +0100
    Re: Java Swing: alle Elemente eines JFrames durchlaufen Rainer <Rainer.Poop@Rcpt.at> - 2018-11-29 15:54 +0100
      Re: Java Swing: alle Elemente eines JFrames durchlaufen Rainer <Rainer.Poop@Rcpt.at> - 2018-11-29 16:45 +0100

csiph-web