Hey!
Ich hab folgendes Problem und finde den Fehler einfach nicht..wenn ich ein Item in einer JComboBox anwähle, soll sich der JFilechooser öffnen. klappt auch soweit. Wenn ich nun aber eine Datei ausgewählt habe und der Open-Dialog sich schließen soll, dann öffnet er sich wieder neu. Bei Klick auf Abbruch muss man 3mal oder so draufklicken, eh das Fenster endlich geschlossen bleibt..
Hatte das ganze vorher statt mit JComboBox und JFileChooser mit Choice und FileChooser realisiert und es klappte (kA obs nun genau an der Änderung liegt, aber anders kann ich mirs nicht erklären).
Wo liegt mein Fehler? Hab bei der Suche nur gefunden, dass man z.B. den ActionListener mehrfach definiert hat. Konnt ich aber so weit, glaub ich, ausschließen.
Danke für Eure Hilfe!
Ich hab folgendes Problem und finde den Fehler einfach nicht..wenn ich ein Item in einer JComboBox anwähle, soll sich der JFilechooser öffnen. klappt auch soweit. Wenn ich nun aber eine Datei ausgewählt habe und der Open-Dialog sich schließen soll, dann öffnet er sich wieder neu. Bei Klick auf Abbruch muss man 3mal oder so draufklicken, eh das Fenster endlich geschlossen bleibt..
Hatte das ganze vorher statt mit JComboBox und JFileChooser mit Choice und FileChooser realisiert und es klappte (kA obs nun genau an der Änderung liegt, aber anders kann ich mirs nicht erklären).
Wo liegt mein Fehler? Hab bei der Suche nur gefunden, dass man z.B. den ActionListener mehrfach definiert hat. Konnt ich aber so weit, glaub ich, ausschließen.
Code:
if (imageauswahl == "eigenes Bild"){
JFileChooser filechooser = new JFileChooser();
filechooser.setFileFilter(new FileFilter(){
//FileFilter, damit nur bestimmte Dateiendungen gefunden werden
public boolean accept( File f ) {
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".jpg" ) ||
f.getName().toLowerCase().endsWith( ".bmp" ) ||
f.getName().toLowerCase().endsWith( ".png" );
}
public String getDescription() {
return "*.jpg, *.bmp, *png"; //Endungen die zur Auswahl angezeigt werden
}
});
switch(filechooser.showOpenDialog(null)){ //Fenster zur Auswahl öffnet sich
case JFileChooser.APPROVE_OPTION:
filepath = filechooser.getSelectedFile().getAbsolutePath(); //speichern des Bildpfades
filename = filechooser.getSelectedFile().getName(); //speichert Name des Bildes
try {
image = ImageIO.read(new File(filepath)); //Zuordnen Pfad zum Bild
choiceneu = true; //Anlegen neuer Eintrag in ComboBox wird ermöglicht
} catch (IOException ex) {
ex.printStackTrace();
}
break;
case JFileChooser.CANCEL_OPTION:
choiceneu = false; //bei Abbruch Bildauswahl kein neuer Eintrag in ComBox möglich
break;
}
}
Danke für Eure Hilfe!