JFileChooser SaveDialog

Edelfalke

Mitglied
Hallo,
habe mal wieder eine Frage, warscheinlich zu banal, aber ich finde einfach keine Lösung.

Ich rufe den JFileChooser so auf:

Code:
 private String jButton3MouseClicked(java.awt.event.MouseEvent evt) {
    	int option = save.showSaveDialog(this);
        save.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    	jTextField3.setText(save.getCurrentDirectory().getAbsolutePath());
    	SAVE = (save.getCurrentDirectory().getAbsolutePath());
    	System.out.println("SpeicherPfad:\t" + SAVE);
	 // Uebergabe an die INI
	 reader.setStringProperty("Pfade", "SAVE", SAVE);  	 	
	 reader.updateFile();
	 //Rueckgabe an das Hauptprogramm
   return SAVE;
		
		}
Ich würde gern mit dieser Aktion, nur Pfade auswählen können, allerdings passiert nichts wenn ich auf den "Speichern" Button Klicke. Wenn ich auf "Abbrechen" klicke, wird der gewählte Pfad ausgewähle, ist aber nicht so elegant..

Danke schonmal für die Hilfe.

Gruß Alex
 
Moin,
ich vermute, dass der FIleSelectionMode vor dem showSaveDialog gesetzt werden sollte. Außerdem sollte der Rückgabewert int option abgefragt werden, ob OK oder Abbruch betätigt wurde.
 
Vielen Dank für die schnelle Antwort,
hab aber das Problem selbst gefunden;) und du liegst mit deiner vermutung richtig!

Die Funktion sieht jetzt wie folgt aus :

Code:
    String setPath() throws IOException {
    	JFileChooser save = new JFileChooser();
     	//	save.setSize(new Dimension(1, 1));
        save.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

        save.setDialogTitle("Bitte wählen Sie den Pfad zur Ausgabe aus");
        save.setApproveButtonText("wählen");
        save.showOpenDialog(this);
        
        jTextField3.setText(save.getCurrentDirectory().getAbsolutePath());
  
    	SAVE = (save.getCurrentDirectory().getAbsolutePath());
    	System.out.println("SpeicherPfad:\t" + SAVE);
    	
	   	// Uebergabe an die INI
	   	reader.setStringProperty("Pfade", "SAVE", SAVE);  	 	
	    reader.updateFile();
        
	    //Rueckgabe an das Hauptprogramm
		return SAVE;
		
		}

Und das läuft nun.

Also Danke!!
 
Dann vermute ich weiter, dass nach Auswahl eines Verzeichnisses und Abbruch-Button-Betätigung trotzdem der Pfad ausgelesen wird. Das kann eigentlich nicht richtig sein und würde den Abbruch-Button sinnentfremden.
 
Dem kann man ja eigentlich ja folgender Maßen entgegenwirken:

Code:
        if (option==save.APPROVE_OPTION){
        jTextField3.setText(save.getSelectedFile().getPath());
  
    	SAVE = (save.getSelectedFile().getPath());
    	System.out.println("SpeicherPfad:\t" + SAVE);
    	
	   	// Uebergabe an die INI
	   	reader.setStringProperty("Pfade", "SAVE", SAVE);  	 	
	    reader.updateFile();
        }
Das heisst, nur bei betätigung des "Wählen" Buttons, den Pfad übernehmen.
 
Jo, daher der verspätete Dank meinerseits für den Hinweis ;)

Kurz mal was anderes, gibt es eine Möglichkeit im Array abzufragen was an einer ganz bestimmten Stelle steht und wenn ja, wie
Beispiel:

A-B*C'D
D-E_...
.
.
.
und zwar möchte ich nach dem - abfragen (es sollte immer an der 2. stelle stehen!)
Im Array sind einzelne String-Zeilen gespeichert.

Gruß Alex
 
Zuletzt bearbeitet:
Dabei wird nicht das Array abgefragt, sondern jedes einzelne Element, welches ein String darstellt, richtig? Dann geht das einfach mit String.indexOf("-").
 
Die IndexOf Variante hab ich schon kennengelernt, leider ist es so, dass ich konkret die 2. Stelle ansprechen möchte.
Gelöst hab ich es allerdings auch schon, und zwar mit charAt

Aber trotzdem danke ;)

Gruß Alex
 
Zurück