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");
abc.addButton("test", () -> {
WidgetContainer.add(Pos.CENTER, cab);
WidgetContainer.remove(abc);
abc.replace(cab, Pos.CENTER);
});
abc.addButton("test3333", () -> IO.println("Second test works!"));
cab.addButton("cab321312", () -> IO.println("Third test"));
cab.addButton("cab31232132131", () -> {
IO.println("Fourth test");
WidgetContainer.remove(cab);
});
WidgetContainer.add(Pos.CENTER, abc);

View File

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