Added replace to reduce boiler plate code

This commit is contained in:
Bas de Jong
2025-10-28 15:23:36 +01:00
parent 84c17d185b
commit b84255e00e
2 changed files with 7 additions and 3 deletions

View File

@@ -69,15 +69,14 @@ public final class App extends Application {
var cab = new ConfirmWidget("cab"); var cab = new ConfirmWidget("cab");
abc.addButton("test", () -> { abc.addButton("test", () -> {
WidgetContainer.add(Pos.CENTER, cab); abc.replace(cab, Pos.CENTER);
WidgetContainer.remove(abc);
}); });
abc.addButton("test3333", () -> IO.println("Second test works!")); abc.addButton("test3333", () -> IO.println("Second test works!"));
cab.addButton("cab321312", () -> IO.println("Third test")); cab.addButton("cab321312", () -> IO.println("Third test"));
cab.addButton("cab31232132131", () -> { cab.addButton("cab31232132131", () -> {
IO.println("Fourth test"); IO.println("Fourth test");
WidgetContainer.remove(cab);
}); });
WidgetContainer.add(Pos.CENTER, abc); WidgetContainer.add(Pos.CENTER, abc);

View File

@@ -13,4 +13,9 @@ public interface Widget<T extends Node> {
default void hide() { default void hide() {
WidgetContainer.remove(this); WidgetContainer.remove(this);
} }
default void replace(Widget<?> newWidget, Pos newWidgetPosition) {
this.hide();
newWidget.show(newWidgetPosition);
}
} }