samedi 6 juin 2015
"Framework" zur View Ersellung
Posted on 09:13 by verona
Hallo Leute,
da ich in meinem Programm öfters mal einen neues Fenster erstellen muss und es sehr unschön finde, wenn die ganzen Parameter im Code stehen, habe ich mir was kleines geschrieben.
Es muss immer eine Klasse existieren, die den selben Namen trägt, wie die FXML Datei und von der Klasse View abstammt
Die View Klasse ist dafür zuständig, das neue Fenster zu erstellen.
Übergabeparemter stehen in einer .properties Datei, die Höhe und Breite des Fenster muss in der FXML Datei definiert werden, genauso wie Controller und .css Datei.
Und so könnte die .properties Datei aussehen
Und so würde man das ganze aufrufen.
Was meint ihr dazu?Was könnte man noch besser machen, oder was würdet ihr noch anders machen?
-GhostfaceChilla-
da ich in meinem Programm öfters mal einen neues Fenster erstellen muss und es sehr unschön finde, wenn die ganzen Parameter im Code stehen, habe ich mir was kleines geschrieben.
Java Code:
Es muss immer eine Klasse existieren, die den selben Namen trägt, wie die FXML Datei und von der Klasse View abstammt
Java Code:
-
/**
-
* Diese Klasse dient dazu, das laden der FXML und das erstellen der passenden
-
* View zu automatisieren.
-
*
-
* @author Christian
-
*/
-
-
private boolean resizable;
-
-
-
-
try {
-
loadProperties();
-
init();
-
}
-
}
-
-
switch (prop) {
-
case "true":
-
return true;
-
case "false":
-
return false;
-
}
-
return true;
-
}
-
-
Parent root = FXMLLoader.load(getClass().getResource(fxmlName));
-
Scene scene = new Scene(root);
-
Stage stage = new Stage();
-
stage.setScene(scene);
-
stage.setTitle(windowName);
-
stage.setResizable(resizable);
-
stage.initModality(Modality.valueOf(modality));
-
stage.show();
-
-
-
}
-
-
/**
-
* Diese Methode liest die Eigenschaften fxm-name , window-name, modality
-
* in die entsprechenden Variablen.
-
* @throws FileNotFoundException
-
* @throws IOException
-
*/
-
prop.load(fis);
-
//des Namens der Klasse
-
fxmlName = prop.getProperty(prefix+"-fxml-name");
-
windowName = prop.getProperty(prefix+"-window-name");
-
modality = prop.getProperty(prefix+"-modality");
-
resizable = wrapStringToBoolean(prop.getProperty(prefix+"-resizable"));
-
}
-
-
}
Die View Klasse ist dafür zuständig, das neue Fenster zu erstellen.
Übergabeparemter stehen in einer .properties Datei, die Höhe und Breite des Fenster muss in der FXML Datei definiert werden, genauso wie Controller und .css Datei.
Code:
#Properties Datei für alle Views
#Namenskonvention:
#<classname><attribut>
#<attribut> = -fxml-name
# -window-name
# -modality
#Application
application-fxml-name = /homenizer/view/application/application.fxml
application-window-name = Homenizer
application-modality = NONE
application-resizable = true
#Login
login-fxml-name = /homenizer/view/login/login/login.fxml
login-window-name = Login
login-modality = APPLICATION_MODAL
login-resizable = false
Java Code:
-
@Override
-
try {
-
Logger.getLogger(HomenizerApp.class.getName()).log(Level.SEVERE, null, ex);
Und so würde man das ganze aufrufen.
Was meint ihr dazu?Was könnte man noch besser machen, oder was würdet ihr noch anders machen?
-GhostfaceChilla-
"Framework" zur View Ersellung
Categories: "Framework" zur View Ersellung
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire