From 35bacbbaf62cfb2ca1f0bcb7326de2e9747da728 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Sun, 22 Jun 2025 18:52:03 +0200 Subject: [PATCH] add lambda based container creation method --- ui-java/src/main/java/de/unixwork/ui/ContainerBuilder.java | 7 +++++++ ui-java/src/main/java/de/unixwork/ui/ContainerUI.java | 6 ++++++ ui-java/src/test/java/de/unixwork/ui/demo/Main.java | 3 +++ 3 files changed, 16 insertions(+) create mode 100644 ui-java/src/main/java/de/unixwork/ui/ContainerUI.java diff --git a/ui-java/src/main/java/de/unixwork/ui/ContainerBuilder.java b/ui-java/src/main/java/de/unixwork/ui/ContainerBuilder.java index d0a0606..495020b 100644 --- a/ui-java/src/main/java/de/unixwork/ui/ContainerBuilder.java +++ b/ui-java/src/main/java/de/unixwork/ui/ContainerBuilder.java @@ -188,4 +188,11 @@ public class ContainerBuilder extends AbstractWidgetBuilder{ UiWidget w = create(); return new Container(obj, w); } + + public UiWidget create(ContainerUI ui) { + Container container = createContainer(); + ui.callback(obj); + container.close(); + return container.getWidget(); + } } diff --git a/ui-java/src/main/java/de/unixwork/ui/ContainerUI.java b/ui-java/src/main/java/de/unixwork/ui/ContainerUI.java new file mode 100644 index 0000000..281f0d3 --- /dev/null +++ b/ui-java/src/main/java/de/unixwork/ui/ContainerUI.java @@ -0,0 +1,6 @@ +package de.unixwork.ui; + +@FunctionalInterface +public interface ContainerUI { + public void callback(UiObject obj); +} diff --git a/ui-java/src/test/java/de/unixwork/ui/demo/Main.java b/ui-java/src/test/java/de/unixwork/ui/demo/Main.java index efef508..5caaf76 100644 --- a/ui-java/src/test/java/de/unixwork/ui/demo/Main.java +++ b/ui-java/src/test/java/de/unixwork/ui/demo/Main.java @@ -18,6 +18,9 @@ public class Main implements Application{ Button.button(window).label("B1").create(); Button.button(window).label("B2").create(); Button.button(window).label("B3").create(); + Container.vbox(window).create(obj -> { + Button.button(window).label("Test").create(); + }); } window.show(); -- 2.47.3