From 48d7cb7227e4ea61c1327515d9ce76fe5f3e0260 Mon Sep 17 00:00:00 2001 From: AseelHamamreh Date: Sat, 15 Nov 2025 16:41:16 +0100 Subject: [PATCH 1/2] setup --- pom.xml | 17 +++++++++++- src/main/java/com/example/ChatController.java | 26 +++++++++++++++++++ src/main/java/com/example/ChatModel.java | 9 +++++++ src/main/java/com/example/HelloFX.java | 2 +- src/main/resources/com/example/chat-view.fxml | 24 +++++++++++++++++ 5 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/example/ChatController.java create mode 100644 src/main/java/com/example/ChatModel.java create mode 100644 src/main/resources/com/example/chat-view.fxml diff --git a/pom.xml b/pom.xml index c40f667e..4bf22db9 100644 --- a/pom.xml +++ b/pom.xml @@ -48,6 +48,20 @@ + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + 25 + 25 + 25 + + + + org.openjfx javafx-maven-plugin @@ -55,7 +69,7 @@ com.example.HelloFX - + javafx true @@ -63,6 +77,7 @@ true + diff --git a/src/main/java/com/example/ChatController.java b/src/main/java/com/example/ChatController.java new file mode 100644 index 00000000..77500602 --- /dev/null +++ b/src/main/java/com/example/ChatController.java @@ -0,0 +1,26 @@ +package com.example; + +import javafx.fxml.FXML; +import javafx.scene.control.ListView; +import javafx.scene.control.TextField; + +public class ChatController { + + @FXML + private ListView messagesList; + + @FXML + private TextField inputField; + + private final ChatModel model = new ChatModel(); + + @FXML + private void onSend() { + String message = inputField.getText().trim(); + if (!message.isEmpty()) { + messagesList.getItems().add("Me: " + message); + model.sendMessage(message); + inputField.clear(); + } + } +} diff --git a/src/main/java/com/example/ChatModel.java b/src/main/java/com/example/ChatModel.java new file mode 100644 index 00000000..46599712 --- /dev/null +++ b/src/main/java/com/example/ChatModel.java @@ -0,0 +1,9 @@ +package com.example; + +public class ChatModel { + + public void sendMessage(String message) { + // TODO: send POST JSON to ntfy + System.out.println("Sending message: " + message); + } +} diff --git a/src/main/java/com/example/HelloFX.java b/src/main/java/com/example/HelloFX.java index 96bdc5ca..2517ef4b 100644 --- a/src/main/java/com/example/HelloFX.java +++ b/src/main/java/com/example/HelloFX.java @@ -10,7 +10,7 @@ public class HelloFX extends Application { @Override public void start(Stage stage) throws Exception { - FXMLLoader fxmlLoader = new FXMLLoader(HelloFX.class.getResource("hello-view.fxml")); + FXMLLoader fxmlLoader = new FXMLLoader(HelloFX.class.getResource("chat-view.fxml")); Parent root = fxmlLoader.load(); Scene scene = new Scene(root, 640, 480); stage.setTitle("Hello MVC"); diff --git a/src/main/resources/com/example/chat-view.fxml b/src/main/resources/com/example/chat-view.fxml new file mode 100644 index 00000000..667d541b --- /dev/null +++ b/src/main/resources/com/example/chat-view.fxml @@ -0,0 +1,24 @@ + + + + + + + + + + +
+ +
+ + + + +