Hallo,
ich will schlicht und einfach nur den Inhalt eines Textfeldes ausgeben. Dabei bin ich folgendermaßen vorgegangen:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class EigenesFenster extends JFrame implements ActionListener {
private JButton button;
private JTextField j_textfield;
public EigenesFenster() {
button = new JButton("Ausgabebutton");
j_textfield = new JTextField();
}
public void buildGUI(EigenesFenster f) {
//JFrame.setDefaultLookAndFeelDecorated(true);
JFrame win = new JFrame("Eigenes Fenster");
win.setDefaultCloseOperation(EXIT_ON_CLOSE);
win.setResizable(false);
win.setLayout(new GridLayout(1, 3, 5, 5));
win.add(new JLabel("Eingabe: "));
win.add(j_textfield);
win.add(button);
button.addActionListener(f);
j_textfield.addActionListener(this);
win.setVisible(true);
win.pack();
}
public void actionPerformed(ActionEvent e) {
System.out.println(j_textfield.getText());
}
public static void main(String[] args) {
EigenesFenster fenster = new EigenesFenster();
fenster.buildGUI(fenster);
}
}
Ich habe allerdigs etwas Bauchschmerzen, was das Abfragen des Textfeldes betrifft. Wenn ich in der actionPerformed-Methode direkt auf j_textfield zugreife, würde das dann nicht das objektorientierte Konzept verletzen, auch wenn es die gleiche Klasse ist?
Mit Getter und Setter in diesem Fall zu arbeiten, würde hier vll. gut gehen, aber stelle ich mir vor ich hätte dutzende Textfelder, würde das den Code unnötig aufblähen.
Löst man Abfragen dieser Art normalerweise genau so, oder geht man hier etwas anders vor?
Markus.