# NullPointerException bei JFileChooser



## Satanic_Vegeta (17. Jan 2009)

Hi Community,

bekomme hier nen nullPointerException:


```
jButton.addActionListener(new java.awt.event.ActionListener() {
				@SuppressWarnings("deprecation")
				public void actionPerformed(java.awt.event.ActionEvent e) {
					JFileChooser direc = new JFileChooser();		
					direc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
					direc.show();
					txtFilePath.setText(direc.getSelectedFile().toString());
				}
			}
```

Könnt ihr mir sagen, was ich falsch gemacht habe?

Danke im Voraus!


----------



## André Uhres (17. Jan 2009)

Versuch's mal so:
Ersetze dies:

```
direc.show();
txtFilePath.setText(direc.getSelectedFile().toString());
```
durch das:

```
if(direc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION){
    txtFilePath.setText(direc.getSelectedFile().toString());
}
```


----------



## SlaterB (17. Jan 2009)

ist ein JFileCooser zu sehen, selektierts du dort was?
ist txtFilePath null?

if (txtFilePath == null) {
System.out.println("gleich geht was schief");
}


----------



## André Uhres (17. Jan 2009)

SlaterB hat gesagt.:
			
		

> ist ein JFileCooser zu sehen, selektierts du dort was?
> ist txtFilePath null?


Nichts davon trifft zu.


----------



## Satanic_Vegeta (17. Jan 2009)

André Uhres hat gesagt.:
			
		

> Versuch's mal so:
> Ersetze dies:
> 
> ```
> ...



Tuts leider auch nich  

Bricht damit ab: The method showOpenDialog(Component) in the type JFileChooser is not applicable for the arguments (new ActionListener(){})	


Und nein, er wird gar nicht erst ausgefürht, also nicht zu sehen.


----------



## André Uhres (17. Jan 2009)

showOpenDialog verlangt als Parameter "Component parent" oder null (siehe API).
Wie heisst deine Klasse, von was leitest du sie ab?


----------



## Satanic_Vegeta (17. Jan 2009)

André Uhres hat gesagt.:
			
		

> showOpenDialog verlangt als Parameter "Component parent" oder null (siehe API).
> Wie heisst deine Klasse, von was leitest du sie ab?



Ist dafür nicht das this da?

Aber egal, mit null macht er genau das, was er soll...

Danke


----------



## André Uhres (17. Jan 2009)

Wenn die Klasse eine Component ist, kannst du auch dies mal versuchen:

```
private void getDirectory() {
    JFileChooser direc = new JFileChooser();
    direc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    if (direc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
        txtFilePath.setText(direc.getSelectedFile().toString());
    }
}
```
Diese Methode rufst du dann in der "actionPerformed" auf.


----------



## Satanic_Vegeta (17. Jan 2009)

André Uhres hat gesagt.:
			
		

> Wenn die Klasse eine Component ist, kannst du auch dies mal versuchen:
> 
> ```
> private void getDirectory() {
> ...



Jop, das funzt auch  Thx!


----------

