# JFileChooser schließen



## ManInBlack (31. Okt 2008)

Hi,

weiß jemand wie man einen JFileChooser schließen kann, wenn man den "Abbrechen" - Button drückt?
Wenn ich bei mir den Abbrechen-Button betätige, wird eine Exception geworfen.

Ich bin ratlos, wo auch das Zauberwort Google nicht weitergeholfen hat.

Hier ist ein Code-Ausschnitt:


```
jfc = new JFileChooser(System.getProperty("user.dir"));
		jfc.showDialog(Window.this, null);
		jfc.setAcceptAllFileFilterUsed(false);
						
		jfc.setFileFilter( new FileFilter() 
	    { 
	      @Override public boolean accept( File f ) 
	      { 
	        return f.isDirectory() || 
	          f.getName().toLowerCase().endsWith( ".exp" ); 
	      } 
	      @Override public String getDescription() 
	      { 
	        return "Texte"; 
	      } 
	    } ); 
	 
	    int state = jfc.showOpenDialog( null ); 
	 
	    if ( state == JFileChooser.APPROVE_OPTION ) 
	    { 
	    	String pfad = jfc.getSelectedFile().getAbsolutePath();
			bmw.eai.monitoring.filepathing.FileLocationCreator
					.setProberties(pfad);
			jTextFieldAusgabe.setText( "Exp-File eingelesen" ); 
	    } 
	    else {
	    	jTextFieldAusgabe.setText( "Auswahl abgebrochen" ); 


            // Genau hier hab ich keinen Plan, was hinkommt um den JFileChooser zu schließen
	    	
	    }
		
		try {
			ParserDataFromFileToDB pdft = new ParserDataFromFileToDB();
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

	}
```

Hat jemand eine Idee?

Danke+Gruß
ManInBlack


----------



## L-ectron-X (31. Okt 2008)

Ich mach das gern mit einer switch-Anweisung.


```
int choose = pane.showOpenDialog(null); 
switch(choose) {
   case JFileChooser.APPROVE_OPTION:
   //Code für Auswahl einer Datei

   case JFileChooser.CANCEL_OPTION:
   //Code für Optionen vor dem Schließen
}
```

Dar JFileChooser wird beim Klicken auf Abbrechen/Cancel auch ohne eine entsprechende Anweisung geschlossen.


----------



## Guest (31. Okt 2008)

Ich hatte einen doofen Fehler:

Und zwar, in dem Quellcode wird  eine Datenbank angelegt, obwohl keine Datei ausgewählt wurde (da man ja den AbbruchButton geklickt hatte.)

Nun hab ich das Datenbankanlegen in die if-Bedingung geschoben und es funzt:

So passt es jetzt:

```
if ( state == JFileChooser.APPROVE_OPTION ) 
	    { 
	    	String pfad = jfc.getSelectedFile().getAbsolutePath();
			bmw.eai.monitoring.filepathing.FileLocationCreator
					.setProberties(pfad);
			jTextFieldAusgabe.setText( "Exp-File eingelesen" ); 
			
			try {
				ParserDataFromFileToDB pdft = new ParserDataFromFileToDB();
			} catch (FileNotFoundException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
	    } 
	    else {
	    	jTextFieldAusgabe.setText( "Auswahl abgebrochen" );
	    	jfc.disable();
	    	
	    }
```


danke+gruß


----------

