Hallo,
ich habe folgende Codeschnipsel
und die fileChooser-Klasse (als Singleton)
wenn ich das Programm das erste mal starte klappt alles wie gewollt.
Es geht ein LogIn-Bikdschirm auf, danach folgt der filechooser, ich kann ein Bild
auswählen, analysieren klappt alles.
Will ich nun beim laufenden Programm ein anderes Bild laden, nutze ich den Teil im
ersten Codeschnipsel, lustigerweise geht dann der filechooser nicht mehr auf, obwohl er
bei Programmstart ja einwandfrei funktionierte. Woran liegt das?
Ich habe über die Konsolenausgabe gesehen das er zwar die Öffnen-Aktion aufruft aber niemals
im Kontruktor des fileChooser ankommt.
Vielleicht habt ihr ne Idee.
Danke euch
Grüße
ich habe folgende Codeschnipsel
Java:
if(e.getSource() == oeffnen){
System.out.println("Öffnen geklickt!");
file = null;
mainFrame.setContentPane(panel_leer);
mainFrame.setVisible(true);
panel_analyzer.removeAll();
fileChooser.getInstance();
}
und die fileChooser-Klasse (als Singleton)
Java:
import java.awt.Container;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
public class fileChooser {
private static fileChooser instance;
final JFileChooser fc = new JFileChooser();
BufferedImage image = null;
Container c;
private fileChooser() {
fc.setCurrentDirectory(new File("C:/RadarAnalyzer/Bilder"));
int returnVal = fc.showOpenDialog(c);
if(returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
try {
this.image = ImageIO.read(file);
} catch (IOException ex) {
Logger.getLogger(RadarAnalyzer.class.getName()).log(Level.SEVERE, null, ex);
}
new raInterface(image);
}
}
public synchronized static fileChooser getInstance() {
if(instance == null) {
instance = new fileChooser();
}
return instance;
}
}
wenn ich das Programm das erste mal starte klappt alles wie gewollt.
Es geht ein LogIn-Bikdschirm auf, danach folgt der filechooser, ich kann ein Bild
auswählen, analysieren klappt alles.
Will ich nun beim laufenden Programm ein anderes Bild laden, nutze ich den Teil im
ersten Codeschnipsel, lustigerweise geht dann der filechooser nicht mehr auf, obwohl er
bei Programmstart ja einwandfrei funktionierte. Woran liegt das?
Ich habe über die Konsolenausgabe gesehen das er zwar die Öffnen-Aktion aufruft aber niemals
im Kontruktor des fileChooser ankommt.
Vielleicht habt ihr ne Idee.
Danke euch
Grüße