M
Mart
Gast
ich versuche für mein Rapidfx die erstellung von nodes und views vereinfachen
das sieht ja schon gut aus ( ? ) es sollte das "zusammenbauen" der Views vereinfachen so sachen wie widthproperty und css sollten fürs erste extra gemacht werden
für das hab ich die klasse die stark danach aussieht dass ich da was vereinfachen könnte da es ansich 12 mal das selbe ist aber ich steh auf dem schlauch in der Hinsicht...
in der Any factory steht die id() methode und dass root dann dem generischen typen entspricht kann ich ja nachreichen
Java:
BorderPane root = GUIFactory.getBorderPane()
.bottom(new Button("Bottom"))
.top(new Button("Top"))
.centerView(this.view)
.id("bob")
.build();
für das hab ich die klasse die stark danach aussieht dass ich da was vereinfachen könnte da es ansich 12 mal das selbe ist aber ich steh auf dem schlauch in der Hinsicht...
Java:
public class BorderPaneBuilder extends AnyFactory<BorderPane, BorderPaneBuilder> {
public BorderPaneBuilder() {
root = new BorderPane();
}
public BorderPaneBuilder top(Node node) {
root.setTop(node);
return this;
}
public BorderPaneBuilder left(Node node) {
root.setLeft(node);
return this;
}
public BorderPaneBuilder right(Node node) {
root.setRight(node);
return this;
}
public BorderPaneBuilder center(Node node) {
root.setCenter(node);
return this;
}
public BorderPaneBuilder bottom(Node node) {
root.setBottom(node);
return this;
}
public BorderPaneBuilder bottomView(RapidView<?> view) {
bottom(view.getRootPane());
return this;
}
public BorderPaneBuilder topView(RapidView<?> view) {
top(view.getRootPane());
return this;
}
public BorderPaneBuilder leftView(RapidView<?> view) {
left(view.getRootPane());
return this;
}
public BorderPaneBuilder rightView(RapidView<?> view) {
right(view.getRootPane());
return this;
}
public BorderPaneBuilder centerView(RapidView<?> view) {
top(view.getRootPane());
return this;
}
public BorderPane build() {
return root;
}
}