JFileChooser - Dateinamen vorschlagen/Inhalt der Ausgabe prüfen

StefanG

Aktives Mitglied
Hallo,

ich habe 2 Probleme mit meinem "Datei speichern unter" Dialog:

1. Die Methode "this.manager.getFileName()" gibt einen Dateinamen zurück, den ich als Vorschlag im Dialog verwenden möchte. Leider habe ich keine Ahnung wie ich den Dateinamen als Vorschlag setzen kann.

2. Vor dem Aufruf des Dialogs soll überprüft werden, ob ein Inhalt für die neue Datei vorhanden ist. Die Schleife meldet aber grundsätzlich zurück, dass kein FileContent vorhanden ist (null bzw. ""). Wo liegt mein Fehler?


Java:
	public void saveFileDialog() {
		if (this.manager.getFileContent() != null
				&& !(this.manager.getFileContent().equals(""))) {
			JOptionPane.showMessageDialog( this.myframe,
					"Kein Inhalt zum speichern vorhanden!" );
		 } else 
		{
			final JFileChooser chooser = new JFileChooser("Speicherort wählen");
			chooser.setDialogType(JFileChooser.SAVE_DIALOG);
			chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
			final File file = new File( this.manager.getFileName() );

			chooser.setCurrentDirectory(file);

			chooser.addPropertyChangeListener(new PropertyChangeListener() {
				public void propertyChange(PropertyChangeEvent e) {
					if (e.getPropertyName().equals(
							JFileChooser.SELECTED_FILE_CHANGED_PROPERTY)
							|| e.getPropertyName().equals(
									JFileChooser.DIRECTORY_CHANGED_PROPERTY)) {
						// final File f = (File) e.getNewValue();
					}
				}
			});

			chooser.setVisible(true);
			final int result = chooser.showSaveDialog(null);

			if (result == JFileChooser.APPROVE_OPTION) {
				File outputVerzFile = chooser.getSelectedFile();
				this.manager.setFileName(outputVerzFile.getPath());
			}
			chooser.setVisible(false);

			try {
				fileWriter();
			} catch (IOException e1) {
				JOptionPane.showMessageDialog(this.myframe, e1);
			}
		}
	}
 
zu 1)
versuchs mal mit chooser.setSelectedFile(...)
zu 2) Schau Dir mal an wann die Bedingung war wird:
Java:
if (igrendwas!= null && !irgendwas.equals("")))
 
zu 2:

Alles klar, ich glaube ich hole mir erstmal einen Kaffee ;-)

zu 1:

Habe das Problem so mit deinem Tipp gelöst:

[Java] final JFileChooser chooser = new JFileChooser("Speicherort wählen");
chooser.setDialogType(JFileChooser.SAVE_DIALOG);
chooser.setFileSelectionMode(javax.swing.JFileChooser.FILES_ONLY);
final File file = new File( this.manager.getFileName() );
chooser.setSelectedFile( file );
chooser.setCurrentDirectory( file) ;
[/code]

Ist das so sinnvoll?
 
Zuletzt bearbeitet:

Zurück
Oben