# String aus JTextField



## Fluxx (9. Jun 2005)

Hallo!

Ich habe in meinem Programm ein JTextField erstellt, in dem der Benutzer seinen Namen eingeben kann. Wenn er anschließend auf den Button OK drückt, möchte ich diesen Namen gerne als String in eine Variable speichern.

Leider habe ich keine Ahnung wie ich da rankomme. Mein schlaues Buch schreibt was von getText(), aber damit krieg ich nur Null Pointer Exceptions.

Jemand ne Idee (bitte Anfängerfreundlich erklären   )

Vielen Dank schonmal!


```
public class NameTextField extends JFrame implements ActionListener {

	JTextField textField;
	JButton okButton;
	
   public NameTextField()
   {
      getContentPane().setLayout (new BorderLayout());
      setSize (200, 100);

      // Textfeld erzeugen
      JTextField textField = new JTextField ("Player");
      getContentPane().add ("Center", textField);
      
      //Button erzeugen
      okButton = new JButton("OK");
      okButton.addActionListener(this);
      getContentPane().add ("South", okButton);
      
   }

    // action listener für den button
   public void actionPerformed(ActionEvent e) {
        if (e.getSource() == okButton) 
	this.setVisible(false);
   }
}
```

Und noch ne zweite kleine Frage: Ist das kleine weiße Feld, in dem der Text steht immer nur so groß wie der Text es brauch oder kann man das auch irgendwie größer machen?


----------



## Wildcard (9. Jun 2005)

```
JTextField textField = new JTextField ("Player");
```
Wenn du das im Konstruktor schreibst erstellst du ein JTextField textField das zufällig genauso heißt wie deine Instanzvariable textField, aber sonst nichts mit ihr zu tun hat, und deshalb auch nur im Konstruktor sichtbar ist.
Mach:

```
textField = new JTextField ("Player");
```


----------



## Guest (9. Jun 2005)

oh, da hast du natürlich recht.

aber zum eigentlichen problem: brauch ich auch irgendnen Listener für das JTextField?


----------



## Wildcard (9. Jun 2005)

nein, danach gehts einfach mit getText


----------



## Anselmus (9. Jun 2005)

```
String str = textField.getText();
```


----------



## Guest (9. Jun 2005)

funktioniert, auf den blöden fehler hätt ich auch selbst kommen können   


danke!!!


----------

