From: Olaf Wintermann Date: Sun, 22 Jun 2025 16:52:03 +0000 (+0200) Subject: add lambda based container creation method X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=35bacbbaf62cfb2ca1f0bcb7326de2e9747da728;p=rssreader.git add lambda based container creation method --- 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();