So öffnen Sie eine oder mehrere Dateien mit JFileChooser
JFileChooser ist eine sehr gute Möglichkeit, Dialoge zum Öffnen, Speichern und Anzeigen von Dateien und Ordnern zu erstellen.Um den JFileChooser-Dialog aus dem Öffnen aufzurufen, geben Sie einfach diese beiden Codezeilen ein:
//Dateiauswahl erstellen
JFileChooser fc = new JFileChooser();
//die Reaktion, wenn auf eine Schaltfläche geklickt wird
int return = fc.showOpenDialog(component_parent);
showOpenDialog öffnet den öffnenden Dialog. Diese Methode gibt einen von drei möglichen Werten zurück, die angeben, welche der Optionen von user:
- JFileChooser.CANCEL_OPTION ausgewählt wurde: der Benutzer hat ungeöffnet;
- JFileChooser.APPROVE_OPTION: Der Benutzer hat die Öffnung bestätigt;
- JFileChooser.ERROR_OPTION: Es ist ein Fehler aufgetreten.
Dieser Code öffnet das Dialogfeld, wählt die ausgewählte Datei aus und lädt sie:
import java.awt.BorderLayout;Output:
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 JFileChooserTest {
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 Open = new JMenuItem("Open");
jm.add(Open);
jmb.add(jm);
window.add(jmb,BorderLayout.NORTH);
JFileChooser fc = new JFileChooser();
Open.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Automatisch generierte Methode stub
int val_retour = fc.showOpenDialog(window);
if (val_retour == JFileChooser.APPROVE_OPTION) {
Datei Datei = fc.getSelectedFile();
//Dateiname anzeigen
System.out.println("Dateiname: "+file.getName()+"\n");
//zeigt den absoluten Pfad der Datei an
System.out.println("Absoluter Pfad: "+file.getAbsolutePath()+"\n");
} else {
System.out.println("Eröffnung wird abgebrochen\n");
}
}
});
}
}
Der Terminalbildschirm nach dem Klicken auf "Öffnen":
Dateiname: decTo Binaire.cppUm die ausgewählte Datei abzurufen, verwenden Sie die Methode getSelectedFile(). Wenn der Rückgabewert JFileChooser.APPROVE_OPTION ist der zurückgegebene Wert eine Instanz der class File.
Dateiname: C:\Users\VAIO\Documents\CC++\decTo Binaire.cpp
Der Dateiname und der absolute Pfad werden mit getName() und getAbsolutePath(). Wenn der Benutzer den Vorgang abbricht, wird eine Meldung angezeigt, die auf den Abbruch hinweist.
JFileChooser ermöglicht es Ihnen, eine oder mehrere Dateien auszuwählen. Um sie alle zu öffnen, müssen wir den Code ändern. Die Änderungen befinden sich in der Instanzdeklaration Datei die zu einem Array ausgewählter Dateien wird. Wir sollten JFileChooser auch bitten, uns die Möglichkeit zu geben, mehrere Dateien mit setMultiSelectionEnabled().
final JFileChooser fc = new JFileChooser();Runtime:
fc.setMultiSelectionEnabled(true)
Open.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Automatisch generierte Methode stub
int val_retour = fc.showOpenDialog(window);
if (val_retour == JFileChooser.APPROVE_OPTION) {
File[] file = fc.getSelectedFiles();
//Schleife, die durch die Menge von Dateien läuft
for(Datei f:Datei){
System.out.println("Dateiname: "+f.getName()+"\n");
System.out.println("Absoluter Pfad: "+f.getAbsolutePath()+"\n");
}
} else {
System.out.println("Eröffnung wird abgebrochen\n");
}
}
});
Dateiname: decTo Binaire.cppReferenzen:
Absoluter Pfad: C:\Users\VAIO\Documents\CC++\decTo Binaire.cpp
Dateiname: decalage_tableau.cpp
Absoluter Pfad: C:\Users\VAIO\Documents\CC++\decalage_tableau.cpp
Dateiname: determinant_matrice.cpp
Absoluter Pfad: C:\Benutzer\VAIO\Dokumente\CC++\determinant_matrice.cpp
Dateiname: equation-1-degre.cpp
Absoluter Pfad: C:\Benutzer\VAIO\Dokumente\CC++\equation-1-degre.cpp
Erstellen von JMenuBar-Komponenten: JMenuBar
Java Doc: showOpenDialog-Methode