From 3e2288026bab9d2cba213b80956984184025dce2 Mon Sep 17 00:00:00 2001 From: Sebastian Lenzlinger Date: Wed, 13 Apr 2022 01:45:32 +0200 Subject: [PATCH] Further Building the scene --- .../multiplayer/client/gui/chat/BroadcastButton.java | 12 +++++++++--- .../multiplayer/client/gui/chat/ControlWrapper.java | 9 +++++++++ .../client/gui/chat/NodeWithChildren.java | 4 +++- .../client/gui/chat/OutMsgTargetChooserNode.java | 2 +- .../multiplayer/client/gui/chat/PropertyButton.java | 5 +++++ .../multiplayer/client/gui/chat/SendButton.java | 4 ++++ .../multiplayer/client/gui/chat/WhisperButton.java | 12 ++++++++---- 7 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ControlWrapper.java create mode 100644 src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/PropertyButton.java diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/BroadcastButton.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/BroadcastButton.java index 04d52ce..c050725 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/BroadcastButton.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/BroadcastButton.java @@ -5,15 +5,21 @@ import javafx.beans.property.ObjectProperty; import javafx.collections.ObservableMap; import javafx.scene.Node; import javafx.scene.control.Button; +import javafx.scene.control.Control; import javafx.scene.control.Label; +import javafx.scene.control.RadioButton; import javafx.scene.control.Toggle; import javafx.scene.control.ToggleGroup; +import javafx.scene.layout.Pane; /** * Represents toggling to broadcast to everyone */ -public class BroadcastButton extends ChatTargetToggle implements Toggle { - - Label l = new Label("Broadcast"); +public class BroadcastButton extends Node implements ControlWrapper { + private static RadioButton broadcast = new RadioButton("Broadcast"); + @Override + public Control getControl() { + return broadcast; + } } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ControlWrapper.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ControlWrapper.java new file mode 100644 index 0000000..578919e --- /dev/null +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/ControlWrapper.java @@ -0,0 +1,9 @@ +package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.chat; + +import javafx.scene.control.Control; + +public interface ControlWrapper { + + public Control getControl(); + +} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/NodeWithChildren.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/NodeWithChildren.java index 4d86854..b8fc7c4 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/NodeWithChildren.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/NodeWithChildren.java @@ -1,5 +1,7 @@ package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.chat; +import javafx.scene.Node; + /** * Any class that represents a JavaFX node and has children should implement this interface */ @@ -7,7 +9,7 @@ public interface NodeWithChildren { void create(); - public default void getChildren(){}; + public default Node getChildren(){}; void createNodeHierarchy(); } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/OutMsgTargetChooserNode.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/OutMsgTargetChooserNode.java index 1978c77..79a265b 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/OutMsgTargetChooserNode.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/OutMsgTargetChooserNode.java @@ -18,7 +18,7 @@ public class OutMsgTargetChooserNode extends ToggleGroup implements NodeWithChil } @Override - public void getChildren() { + public Node getChildren() { NodeWithChildren.super.getChildren(); } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/PropertyButton.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/PropertyButton.java new file mode 100644 index 0000000..2e0f1fc --- /dev/null +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/PropertyButton.java @@ -0,0 +1,5 @@ +package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.chat; + +public interface PropertyButton { + +} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/SendButton.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/SendButton.java index 888299d..56ebe45 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/SendButton.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/SendButton.java @@ -3,12 +3,16 @@ package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.chat; import javafx.scene.Node; import javafx.scene.control.Button; +/** + * Represents the button in the chat to send a chat message. + */ public class SendButton extends Button implements UINode { public SendButton() { super("Send"); } + @Override public void listen() { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/WhisperButton.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/WhisperButton.java index 4970ad8..2f18c42 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/WhisperButton.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/chat/WhisperButton.java @@ -1,12 +1,16 @@ package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.chat; -import javafx.scene.control.Label; +import javafx.scene.control.Control; +import javafx.scene.control.RadioButton; /** * Represents the toggle for a whisper chat. */ -public class WhisperButton extends ChatTargetToggle { - - Label l = new Label("Whisper"); +public class WhisperButton implements ControlWrapper { + private static RadioButton whisper = new RadioButton("Whisper"); + @Override + public Control getControl() { + return null; + } }