Swing Alle Komponenten auf JFrame ermitteln

_Andi91

Bekanntes Mitglied
Hi,

gibt es eine Möglichkeit alle Komponenten, die auf einem JFrame liegen zu ermitteln?
Mir ist klar, dass man mit getComponents() aus der Klasse Container rekursiv durch alle Komponenten durch gehen kann.
Welche Komponenten ich dabei aber nicht bekomme, sind solche die in den UI Klassen der Komponenten sind. zB die JList oder die JScrollBar einer JComboBox.
Man könnte das ganze natürlich über Reflection machen aber ich glaub das wär dann doch etwas unperformant.
Ich glaub zwar nicht, dass es sonst eine Möglichkeit gibt aber wenn doch, würde mich interessieren zu wissen wie.
 
Interessiert mich grundsätzlich auch. Aber wozu brauchst du die UI Komponenten innerhalb der Objekte?
 
meinst so ?

kannst dir dazu mal anschauen:
Using Top-Level Containers (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)

Java:
	JFrame frame=new JFrame();
       		frame.setSize(200,200);
       		JComboBox combo=new JComboBox();
       		frame.add(combo);
       		
       		frame.setVisible(true);
       		
       		for(int i=0;i<frame.getContentPane().getComponents().length;i++){
       			System.out.println(frame.getContentPane().getComponents()[i]);
       		}

Syso:
javax.swing.JComboBox[,0,0,192x166,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=328,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=]
 
Zuletzt bearbeitet:
@pl4gu33
Nene wie gsagt die Methode getComponents kenn ich schon

Ich entwickle ein Capture&Replay Framework für Swing. Beim Replay muss ich die Komponente ja irgendwie wieder finden, wenn ich zB aufgezeichnet habe, dass auf dem ComboBox Popup gescrolled wurde.
 
Anmerkung:
'Alle Komponenten auf JFrame ermitteln' ist dann etwas die falsche Richtung,
damit findest du die wesentlichen Komponenten, JList, ComboBox usw., was diese dann intern haben solltest du wenn überhaupt einzeln überlegen
'wie erhalte ich den UI-Aufbau einer Komponente a la JComboBox'
 

Zurück
Oben