Das Dialogfeld zum Speichern wird mit diesen beiden Codezeilen angezeigt:
//instanziieren JFileChooser
final JFileChooser fc = new JFileChooser();
//Aufrufen der showSaveDialog-Methode
int valueour = fc.showSaveDialog(window);
Die JFileChooser-Instanz ist zum Öffnen und Speichern von Dialogen identisch, daher müssen Sie dieselbe Instanz verwenden. Dateiauswahl und vermeiden Sie es, mehrere Versionen zu erstellen.
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.Datei;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class SaveDialog {
public static void main(String[] args) {
final JFrame window = new JFrame();
window.setSize(200,200);
window.setLocationRelativeTo(null);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
JMenuBar jmb = new JMenuBar();
JMenu jm = new JMenu("Ficher");
JMenuItem Save = new JMenuItem("Save");
jm.add(Speichern);
jmb.add(jm);
window.add(jmb,BorderLayout.NORTH);
JFileChooser fc = new JFileChooser();
Save.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Automatisch generierte Methode stub
int val_retour = fc.showSaveDialog(window);
if (val_retour == JFileChooser.APPROVE_OPTION) {
Datei Datei = fc.getSelectedFile();
//zeigt den absoluten Pfad der Datei an
System.out.println("Absoluter Pfad: "+file.getAbsolutePath()+"\n");
} else {
System.out.println("Registrierung wird abgebrochen\n");
}
}
});
}
}
Die Konsole:
Absoluter Pfad: C:\Benutzer\VAIO\Dokumente\CC++\test.txtSie können die Dateiauswahlmodus. Die folgende Codezeile ermöglicht es beispielsweise, nur die Ordner in JFileChooser:
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);Ein weiterer Auswahlmodus ist FILES_AND_DIRECTORIES. Die Standardeinstellung ist FILES_ONLY.
References
Oracle Doc:So verwenden Sie die Dateiauswahl
StackOverFlow:Wie speichere ich eine Datei mit JFileChooser.showSaveDialog?
Commentaires (12)
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Excellent tutoriel !
N'hésitez pas si vous avez des questions.