Ich Bastel grad auch wieder mal ein wenig an meinen eigenen Projekten :lol:
und wollt mal wissen wie ihr das so handhabt, also mal angenommen wir haben folgende Situation
besonders diesen Teil fand ich eigentlich ziemlich angenehm :
das getWindowState(); hier direkt das PreferencesObjekt ausließt
letztendlich geht es mir eigentlich nur darum wie ich das am geschicktesten angehe, beim windowState habe ich es schon mit preferences umgesetzt, ( Sinnvoll ? oder doch lieber Properties ?..ich find das so eigentlich ganz angenehm, da Properties mir ja nur Strings liefert, und hier das parsen quasi magic ist )
nun frage ich mich , da z.B eine voll Initialisierte JmenuBar mit Actions usw usw, ja unheimlich viel platz wegnimmt, ich es dort so ähnlich machen soll, sprich in lege einfach einen pfad etc. in den preferences / oder einem Properites Objekt an welches dann den Pfad zu einer z.B .xml datei hält und ich dann das menu aus dieser datei parse, oder so ähnlich. Oder vielleicht doch einfach in eine eigene Klasse auslagern ?
Die andere frage ist , erstelle ich am einfachsten einfach ein Preferences Objekt für jeden Bestandteil der Applikation über den ich über die Programmlaufzeit hinaus Daten sichern will oder realisiere ich das dann doch lieber über eine Serialisierte Datei oder so die ich einfach bei jedem Programmstart einlese ?
Zum anderen Halte ich so daten wie z.B Default Werte als Felder oder doch einfach über ein jeweiliges Preferences Objekt ? ^^
und wollt mal wissen wie ihr das so handhabt, also mal angenommen wir haben folgende Situation
Java:
import java.util.prefs.Preferences;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import editor.fragments.enums.FileMenu;
import editor.fragments.enums.Menu;
public class Gui{
static Preferences PREFS = Preferences.userNodeForPackage(Gui.class);
private int windowState;
private JFrame frame;
private EditorPane pane;
public Gui(){
initComponents();
initFrame();
}
private void initComponents(){
pane = new EditorPane(this);
}
private void initFrame(){
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setContentPane(pane);
frame.setJMenuBar(createMenuBar());
frame.setExtendedState(getWindowState());
if(windowState == JFrame.NORMAL) {
frame.pack();
frame.setLocationRelativeTo(null);
}
}
private JMenuBar createMenuBar(){
JMenuBar bar = new JMenuBar();
// Menu Entrys
JMenu[] entrys = new JMenu[4];
for (int i = 0; i < entrys.length; i++) {
entrys[i] = new JMenu(Menu.values()[i].getValue());
bar.add(entrys[i]);
}
// FileMenu Entrys
JMenuItem[] fileEntrys = new JMenuItem[6];
for (int i = 0; i < fileEntrys.length; i++) {
fileEntrys[i] = new JMenuItem(FileMenu.values()[i].getValue());
entrys[0].add(fileEntrys[i]);
}
return bar;
}
public void setWindowState(int i){
PREFS.putInt("windowState", windowState);
}
public void show(){
frame.setVisible(true);
}
public int getWindowState() {return PREFS.getInt("windowState", JFrame.NORMAL);}
}
besonders diesen Teil fand ich eigentlich ziemlich angenehm :
Java:
frame.setExtendedState(getWindowState());
if(windowState == JFrame.NORMAL) {
frame.pack();
frame.setLocationRelativeTo(null);
}
das getWindowState(); hier direkt das PreferencesObjekt ausließt
letztendlich geht es mir eigentlich nur darum wie ich das am geschicktesten angehe, beim windowState habe ich es schon mit preferences umgesetzt, ( Sinnvoll ? oder doch lieber Properties ?..ich find das so eigentlich ganz angenehm, da Properties mir ja nur Strings liefert, und hier das parsen quasi magic ist )
nun frage ich mich , da z.B eine voll Initialisierte JmenuBar mit Actions usw usw, ja unheimlich viel platz wegnimmt, ich es dort so ähnlich machen soll, sprich in lege einfach einen pfad etc. in den preferences / oder einem Properites Objekt an welches dann den Pfad zu einer z.B .xml datei hält und ich dann das menu aus dieser datei parse, oder so ähnlich. Oder vielleicht doch einfach in eine eigene Klasse auslagern ?
Die andere frage ist , erstelle ich am einfachsten einfach ein Preferences Objekt für jeden Bestandteil der Applikation über den ich über die Programmlaufzeit hinaus Daten sichern will oder realisiere ich das dann doch lieber über eine Serialisierte Datei oder so die ich einfach bei jedem Programmstart einlese ?
Zum anderen Halte ich so daten wie z.B Default Werte als Felder oder doch einfach über ein jeweiliges Preferences Objekt ? ^^
Zuletzt bearbeitet: