G
Guest
Gast
Ich habe eine graphische Oberfläche, bei der ich die Schriftgrösse und die Sprache verändern kann.
Wenn ich die Oberfläche schliesse, solle die aktuelle Konfiguration gespeichert werden und beim Neustart
wieder geladen werden.
Aber beim Neustart findet die Anwendung die Datei Z:/BO/Hausarbeit/einstellung.ser nicht.
Das Fenster hat dann falsche Einstellungen und steht an der falschen Stelle.
Wenn ich die Oberfläche schliesse, solle die aktuelle Konfiguration gespeichert werden und beim Neustart
wieder geladen werden.
Aber beim Neustart findet die Anwendung die Datei Z:/BO/Hausarbeit/einstellung.ser nicht.
Das Fenster hat dann falsche Einstellungen und steht an der falschen Stelle.
Code:
//Funktion zum Laden der Einstellungen
private void load(String filename){
try{
FileInputStream in = new FileInputStream(filename );
ObjectInputStream i = new ObjectInputStream(in);
location = (Point)i.readObject();
fontuires = (FontUIResource)i.readObject();
sprache = (String)i.readObject();
i.close();
}
catch(IOException e){
System.err.println(e);
location = new Point(200,200);
fontuires = new FontUIResource("Dialog",Font.BOLD,14);
sprache = "deutsch";
}
catch(ClassNotFoundException e){
System.err.println(e);
location = new Point(200,200);
fontuires = new FontUIResource("Dialog",Font.BOLD,14);
sprache = "deutsch";
}
setLocation(location);
setFont(fontuires);
if (sprache.compareTo("deutsch") == 0)
setL(deutsch);
else if (sprache.compareTo("english") == 0)
setL(englisch);
else if (sprache.compareTo("franz\u00F6sisch") == 0)
setL(französisch);
}
//Funktion zum Speichern der Einstellungen
private void save(String filename){
UIDefaults uidef = UIManager.getDefaults();
try{
FileOutputStream out = new FileOutputStream(filename);
ObjectOutputStream o = new ObjectOutputStream(out);
o.writeObject(getContentPane().getLocationOnScreen());
o.writeObject(uidef.getFont("Button.font"));
o.writeObject(sprache);
o.close();
}
catch(IOException e){
System.err.println(e);
}
}
//Funktion zum setzen der Sprache
public void setL(Object[] o){
UIDefaults uid=UIManager.getDefaults();
uid.putDefaults(o);
SwingUtilities.updateComponentTreeUI(this);
pack();
}