From 03a009567f81b82e513da12a57cb9e8189e54267 Mon Sep 17 00:00:00 2001 From: Vladimir Valekzhanin Date: Sat, 26 Sep 2026 22:13:10 +0300 Subject: [PATCH 01/27] Apply some tweaks --- .../com/DesktopApplicationClientJava/Program.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/DesktopApplicationClientJava/Program.java b/src/main/java/com/DesktopApplicationClientJava/Program.java index deea9b6..ed4f695 100644 --- a/src/main/java/com/DesktopApplicationClientJava/Program.java +++ b/src/main/java/com/DesktopApplicationClientJava/Program.java @@ -7,6 +7,9 @@ import javafx.stage.Stage; public class Program extends Application { + final static double windowWidthPx = 500.0; + final static double windowHeightPx = 500.0; + public static void main(String[] args) { launch(args); } @@ -14,16 +17,17 @@ public static void main(String[] args) { @Override public void start(Stage stage) { Text text = new Text("Hello JAVAFX!"); - text.setLayoutX(80); - text.setLayoutY(80); + text.setLayoutX(windowWidthPx / 2); + text.setLayoutY(windowHeightPx / 2); Group group = new Group(text); Scene scene = new Scene(group); stage.setScene(scene); stage.setTitle("JavaFX Application"); - stage.setWidth(300); - stage.setHeight(250); + stage.setWidth(windowWidthPx); + stage.setHeight(windowHeightPx); + stage.centerOnScreen(); stage.show(); } From 2707587c5f5a1e8c35ba44ba4b6516014f7768d6 Mon Sep 17 00:00:00 2001 From: Vladimir Valekzhanin Date: Sat, 26 Sep 2026 22:17:32 +0300 Subject: [PATCH 02/27] Add a button --- .../com/DesktopApplicationClientJava/Program.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/DesktopApplicationClientJava/Program.java b/src/main/java/com/DesktopApplicationClientJava/Program.java index ed4f695..a81b286 100644 --- a/src/main/java/com/DesktopApplicationClientJava/Program.java +++ b/src/main/java/com/DesktopApplicationClientJava/Program.java @@ -3,12 +3,14 @@ import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.layout.FlowPane; import javafx.scene.text.Text; import javafx.stage.Stage; public class Program extends Application { - final static double windowWidthPx = 500.0; - final static double windowHeightPx = 500.0; + final static double windowWidthPx = 200.0; + final static double windowHeightPx = 100.0; public static void main(String[] args) { launch(args); @@ -20,8 +22,11 @@ public void start(Stage stage) { text.setLayoutX(windowWidthPx / 2); text.setLayoutY(windowHeightPx / 2); - Group group = new Group(text); - Scene scene = new Scene(group); + Button button = new Button("Button"); + Group group = new Group(button); + + FlowPane root = new FlowPane(text, group); + Scene scene = new Scene(root); stage.setScene(scene); stage.setTitle("JavaFX Application"); From 9b8ff69189184f51d3c778fd7223f9f282ec1b80 Mon Sep 17 00:00:00 2001 From: Vladimir Valekzhanin Date: Sat, 26 Sep 2026 22:26:44 +0300 Subject: [PATCH 03/27] Add an event handler --- .../java/com/DesktopApplicationClientJava/Program.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/DesktopApplicationClientJava/Program.java b/src/main/java/com/DesktopApplicationClientJava/Program.java index a81b286..1c7a37f 100644 --- a/src/main/java/com/DesktopApplicationClientJava/Program.java +++ b/src/main/java/com/DesktopApplicationClientJava/Program.java @@ -11,6 +11,7 @@ public class Program extends Application { final static double windowWidthPx = 200.0; final static double windowHeightPx = 100.0; + int times = 0; public static void main(String[] args) { launch(args); @@ -22,7 +23,12 @@ public void start(Stage stage) { text.setLayoutX(windowWidthPx / 2); text.setLayoutY(windowHeightPx / 2); - Button button = new Button("Button"); + Button button = new Button("You haven't clicked me!"); + button.setOnAction(e -> { + times++; + button.setText("You've clicked " + times + " times"); + }); + Group group = new Group(button); FlowPane root = new FlowPane(text, group); @@ -36,4 +42,4 @@ public void start(Stage stage) { stage.show(); } -} \ No newline at end of file +} From c19bb369ec93a7e43d8605ccad6e79752ce24b37 Mon Sep 17 00:00:00 2001 From: Vladimir Valekzhanin Date: Sat, 26 Sep 2026 22:47:41 +0300 Subject: [PATCH 04/27] Setup fxml --- pom.xml | 5 ++++ .../DesktopApplicationClientJava/Main.fxml | 8 ++++++ .../DesktopApplicationClientJava/Program.java | 25 +++++-------------- 3 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/DesktopApplicationClientJava/Main.fxml diff --git a/pom.xml b/pom.xml index 002b18a..5d59321 100644 --- a/pom.xml +++ b/pom.xml @@ -30,6 +30,11 @@ javafx-controls 11 + + org.openjfx + javafx-fxml + 27 + org.projectlombok lombok diff --git a/src/main/java/com/DesktopApplicationClientJava/Main.fxml b/src/main/java/com/DesktopApplicationClientJava/Main.fxml new file mode 100644 index 0000000..93ac1c6 --- /dev/null +++ b/src/main/java/com/DesktopApplicationClientJava/Main.fxml @@ -0,0 +1,8 @@ + + + + + + +