# TextField bringt NullPointerException bei setVisible()



## Riki20 (8. Sep 2006)

Hallo zusammen,

ich habe ein TextField erstellt und gleich in init() auf setVisible(false) gesetzt - was noch funktioniert, das Feld wird nicht angezeigt ...

Wenn ich nun aber in einer späteren Methode dieses Feld setVisible(true) setzen will, bekomm ich eine NullPointerException...

Habe zu diesem Thema leider nichts wirklich aussagekräftiges gefunden. 
Einen Beitrag in diesem Forum mit ähnlichem Prob - nur umgedreht und die Antworten waren nicht wirklich hilfreich.
Jemand meinte, man solle repaint() oder revalidate() machen. revalidate() kennt mein Compiler nicht und mit repaint funktionierts auch nicht ...

Kann mir jemand helfen??

Danke im voraus ...

LG Riki


----------



## Guest (8. Sep 2006)

bist du sicher, das du auf das richtige Objekt ein setVisible(true) probierst?

PS: Etwas code wäre hilfreich


----------



## Riki20 (8. Sep 2006)

Da bin ich mir ziemlich sicher ;-)


```
public void init()
{
        //sonstiges
		eingabe = new TextField("",30);
		eingabe.addTextListener(this);
		
		add(eingabe);
		eingabe.setVisible(false);
}
```

und


```
public void auruf()
{
        //verschiedene Labels - auch mit setVisible()
        eingabe.setVisible(true);
}
```

Reicht das an Code??

LG Riki[/code]


----------



## Wildcard (8. Sep 2006)

Vermutung:
Das Textfeld ist ein Member deiner Klasse. In init machst du dann

```
JTextField textField = new JTextField();
textField.setVisible(true);
```
Damit überdeckst du allerdings lokal die member variable textField die daher immer noch nicht initialisiert wurde.


----------



## Riki20 (8. Sep 2006)

Hi Wildcard

danke für deine Antwort - verstehs nur leider nich so ganz ...  :?   

Was müsste ich deiner Meinung nach ändern??

LG Riki


----------



## Wildcard (8. Sep 2006)

Wenn dort wo bei dir "//sonstiges" steht irgendwo eine Zeile der Art

```
TextField eingabe;
```
ist, dann mach die weg.


----------



## Riki20 (8. Sep 2006)

achso ...

Nein, eingabe ist ein Datenelement ... Ist außerhalb aller Methoden deklariert .... Und in init() initialisiert...

LG Riki


----------



## Wildcard (8. Sep 2006)

Dann setzt du es irgendwann auf null zurück.


----------



## Riki20 (8. Sep 2006)

Bis auf die paar Zeilen, die ich gepostet habe, greife ich überhaupt nicht auf das Objekt zu ...


----------



## thE_29 (8. Sep 2006)

Hast du einen JFrame oder Frame?!

Mischt da einer AWT mit Swing Komponenten?


----------



## Wildcard (8. Sep 2006)

thE_29 hat gesagt.:
			
		

> Hast du einen JFrame oder Frame?!
> 
> Mischt da einer AWT mit Swing Komponenten?


Das währe zwar hässlich, tut aber eigentlich nichts zur sache. wenn eingabe.setVisible(true) eine NullPointerException wirft, dann ist eingabe null.
Sieh dir deinen Code nochmal genau an, und schau nach warum das so ist.


----------



## thE_29 (8. Sep 2006)

Wieso glaube ich, das er es zu 100% nicht als Klassenvariablen abgespeichert hat!


----------



## Leroy42 (8. Sep 2006)

Weil du seine Beschreibungen genau analysiert hast?  :shock:


----------

