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

Path csiph.com!news.mixmin.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-b83b-0-adb1-47f1-530-3c64.ipv6dyn.netcologne.de!not-for-mail
From Patrick Roemer <sangamon@netcologne.de>
Newsgroups de.comp.lang.java
Subject Re: Java Swing: alle Elemente eines JFrames durchlaufen
Date Wed, 28 Nov 2018 22:46:41 +0100
Organization news.netcologne.de
Distribution world
Message-ID <ptn2c1$6h9$1@newsreader4.netcologne.de> (permalink)
References <90ktvdt94icmm7d1vk9nrakimqstaa0ojo@4ax.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
Injection-Date Wed, 28 Nov 2018 21:46:41 -0000 (UTC)
Injection-Info newsreader4.netcologne.de; posting-host="2001-4dd7-b83b-0-adb1-47f1-530-3c64.ipv6dyn.netcologne.de:2001:4dd7:b83b:0:adb1:47f1:530:3c64"; logging-data="6697"; mail-complaints-to="abuse@netcologne.de"
User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.24) Gecko/20100411 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0
In-Reply-To <90ktvdt94icmm7d1vk9nrakimqstaa0ojo@4ax.com>
Content-Language en-US
Xref csiph.com de.comp.lang.java:13222

Show key headers only | 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