From f23c20c1c66b39fb1f49307e08e8593fa708e026 Mon Sep 17 00:00:00 2001 From: Kostya Date: Wed, 9 Sep 2026 10:05:12 +0300 Subject: ui-desktop: build the JavaFX market UI on top of the service Replace the placeholder hello-world window with a working desktop client for the guess market. ServiceEngine wires the in-memory repositories, XML loader, risk, matching, fulfillment and settlement contexts together, and AppState exposes their results as observable JavaFX state for the views to bind to. The FXML views have an events tab and a users tab. The events tab lists events with mechanism and commission filters, and shows each event's price chart, order book ladder, trade history and participants. The users tab shows each user's ledger and positions, and lets them place buy and sell orders. Dialogs cover loading an XML file (in a background task), creating an event and resolving one. Bundle a CSS theme and Nerd Font faces so the UI looks the same on every machine. Teach build.sh to copy each module's src/main/resources into its class output, since FXML, CSS and fonts are loaded from the classpath at runtime. --- tools/build.sh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tools') diff --git a/tools/build.sh b/tools/build.sh index b8886b1..cb5663a 100755 --- a/tools/build.sh +++ b/tools/build.sh @@ -19,6 +19,10 @@ for m in $MODULES; do printf ' %-11s sees: %s\n' "$m" "${deps:-}" javac --release "$JAVA_RELEASE" -d "build/classes/$m" -cp "$cp" \ -processorpath "$LIBCP" -s "build/generated-sources/$m" "@$TMP/src.txt" + + if [ -d "$m/src/main/resources" ]; then + cp -r "$m/src/main/resources/." "build/classes/$m/" + fi done echo "=== Build OK ===" -- cgit v1.2.3