Frame nach Textfeldern durchsuchen

Hmm, ich hab leider immer noch nicht rausgefunden, woran es liegt.
Das Teftfeld wird auch dem Frame hinzugefügt, ich hab es bloß vergessen mit in den geposteten Code zu schreiben, sorry
 
Hallo,

also das gibt mir erwartungsgemäß den Inhalt des Textfeldes aus:

Java:
import java.awt.Component;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class InterneVeranstaltung {

	private JTextField txtName;
	private JFrame frame;

	public InterneVeranstaltung() {
		txtName = new JTextField("Name der Veranstaltung");
		frame = new JFrame("Titel");
		frame.add(txtName);
		frame.setSize(300,300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		run(frame.getContentPane());
	}

	public void run(Container c) {
		for (Component component : c.getComponents()) {
			if (component instanceof JTextField)
				JOptionPane.showMessageDialog(null, ((JTextField)component).getText());
			else if (component instanceof Container)
				run((Container)c);
		}
	}

	public static void main(String[] args) {
		new InterneVeranstaltung();
	}
}

Gruß
Ben
 
Upps... Kleiner Fehler in der run-Methode. Müsste natürlich so ausschauen:

Java:
public void run(Container c) {
	for (Component component : c.getComponents()) {
		if (component instanceof JTextField)
			JOptionPane.showMessageDialog(null, ((JTextField)component).getText());
		else if (component instanceof Container)
			run((Container)component);
	}
}
 
Zurück