Java Reference
In-Depth Information
Die Methode zum Laden einer beliebigen Bilddatei über einen
FileChooser
können Sie
folgendermaßen realisieren:
private void jBtnOeffnenActionPerformed(ActionEvent evt) {
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fc.setFileFilter(new FileNameExtensionFilter("*.jpg; *.gif", "jpg", "gif"));
fc.setCurrentDirectory(new File("."));
int status = fc.showOpenDialog(null);
if (status == JFileChooser.APPROVE_OPTION) {
String selFile = fc.getSelectedFile().getAbsolutePath();
try {
BufferedImagea=ImageIO.read(newFile(selFile));
Bild.setImage(a);
jScrollPane1.setSize(a.getWidth() + 2,
a.getHeight() + 2);
jScrollPane1.setViewportView(Bild);
this.setSize(a.getWidth() + 50, a.getHeight() + 120);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,
"Fehler beim Öffnen der Datei!");
12
}
}
}
Listing 12.17
Methode zum Laden einer Bilddatei
Die
FileChooser
-Komponente wird so erzeugt, dass Ordner und Dateien angezeigt wer-
den. Neu ist hier die Verwendung eines Filters, der dafür sorgt, dass im Dialog nur
Dateien mit bestimmten Namenserweiterungen angezeigt werden. Hier sollen nur
.jpg
-
und
.gif
-Dateien angezeigt werden. Die Methode
setFileFilter
übernimmt für den
FileChooser
einen Filter, der als
FileNameExtensionFilter
erzeugt wird. Als Parameter
wird dem Konstruktor der im Dialog in der ComboBox Dateityp angezeigte Text über-
geben. Als weitere Parameter folgen als kommaseparierte Liste die entsprechenden
Dateitypen. Als Ausgangsordner, dessen Inhalt der Dialog beim Öffnen anzeigt, wird der
aktuelle Pfad als relative Pfadangabe festgelegt. Wenn Sie das Programm aus der Ent-
wicklungsumgebung starten, ist das, wie oben bereits erwähnt, der Projektordner.
Wird der Dialog File öffnen mit der Schaltfläche Öffnen geschlossen (in der Variablen
status
steht dann der Wert
JFileChooser.APPROVE_OPTION
), dann wird der gewählte