From 9350c7f69903e4f7f20da6190958f0b37e4ef205 Mon Sep 17 00:00:00 2001 From: yang <1633346816@qq.com> Date: Sun, 9 Oct 2022 10:41:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=B7=A5=E5=85=B7=E7=AE=B1?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/rococy/roomit/MainWindow.java | 6 +- .../java/org/rococy/roomit/ToolsWindow.java | 61 +++++++-- .../rococy/roomit/control/RoomItCanvas.java | 5 +- .../controller/MainWindowController.java | 126 ++++++++++-------- .../controller/ToolsWindowController.java | 70 +++++++++- .../controller/base/BaseController.java | 15 +++ .../controller/context/ControllerContext.java | 28 ++++ .../resources/org/rococy/roomit/css/tools.css | 23 ++++ .../org/rococy/roomit/fxml/mainWindow.fxml | 1 - .../org/rococy/roomit/fxml/toolsWindow.fxml | 68 +++++++--- .../org/rococy/roomit/img/brush-logo.png | Bin 0 -> 20642 bytes .../org/rococy/roomit/img/clear-logo.png | Bin 0 -> 3881 bytes .../rococy/roomit/img/color-picker-logo.png | Bin 0 -> 5974 bytes .../org/rococy/roomit/img/ellipse-logo.png | Bin 0 -> 12740 bytes .../org/rococy/roomit/img/mouse-logo.png | Bin 0 -> 3784 bytes .../rococy/roomit/img/open-or-close-logo.png | Bin 0 -> 4099 bytes .../org/rococy/roomit/img/rectangle-logo.png | Bin 0 -> 4797 bytes .../org/rococy/roomit/img/screenshot-logo.png | Bin 0 -> 3672 bytes 18 files changed, 311 insertions(+), 92 deletions(-) create mode 100644 src/main/java/org/rococy/roomit/controller/base/BaseController.java create mode 100644 src/main/java/org/rococy/roomit/controller/context/ControllerContext.java create mode 100644 src/main/resources/org/rococy/roomit/css/tools.css create mode 100644 src/main/resources/org/rococy/roomit/img/brush-logo.png create mode 100644 src/main/resources/org/rococy/roomit/img/clear-logo.png create mode 100644 src/main/resources/org/rococy/roomit/img/color-picker-logo.png create mode 100644 src/main/resources/org/rococy/roomit/img/ellipse-logo.png create mode 100644 src/main/resources/org/rococy/roomit/img/mouse-logo.png create mode 100644 src/main/resources/org/rococy/roomit/img/open-or-close-logo.png create mode 100644 src/main/resources/org/rococy/roomit/img/rectangle-logo.png create mode 100644 src/main/resources/org/rococy/roomit/img/screenshot-logo.png diff --git a/src/main/java/org/rococy/roomit/MainWindow.java b/src/main/java/org/rococy/roomit/MainWindow.java index 2a33d1c..0dbfb35 100644 --- a/src/main/java/org/rococy/roomit/MainWindow.java +++ b/src/main/java/org/rococy/roomit/MainWindow.java @@ -71,12 +71,12 @@ public class MainWindow extends Application { stage.setFullScreenExitHint(""); // 置顶 stage.setAlwaysOnTop(true); + // 禁止缩小 + stage.setResizable(false); // 设置窗口透明 stage.initStyle(StageStyle.TRANSPARENT); // 将窗口显示出来 -// stage.show(); - - new ToolsWindow().show(); + stage.show(); } catch ( IOException e) { e.printStackTrace(); diff --git a/src/main/java/org/rococy/roomit/ToolsWindow.java b/src/main/java/org/rococy/roomit/ToolsWindow.java index 71a66f8..496bc5f 100644 --- a/src/main/java/org/rococy/roomit/ToolsWindow.java +++ b/src/main/java/org/rococy/roomit/ToolsWindow.java @@ -1,10 +1,13 @@ package org.rococy.roomit; import javafx.application.Application; +import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; +import javafx.scene.paint.Paint; import javafx.stage.Modality; import javafx.stage.Stage; +import javafx.stage.WindowEvent; import java.io.IOException; @@ -18,25 +21,43 @@ public class ToolsWindow extends Application { private final Stage stage = new Stage(); + private static final ToolsWindow TOOLS_WINDOW = new ToolsWindow(); + + private ToolsWindow() { + } + + public static ToolsWindow getInstance() { + return TOOLS_WINDOW; + } + { - // 设置标题 - stage.setTitle("Roomit-工具箱"); - // 居中 - stage.centerOnScreen(); - // 只有一个x的任务栏 - stage.setResizable(false); - stage.initModality(Modality.APPLICATION_MODAL); - // 置顶 - stage.setAlwaysOnTop(true); + try { + // 加载FXML文件 + FXMLLoader fxmlLoader = new FXMLLoader(SettingWindow.class.getResource("fxml/toolsWindow.fxml")); + Scene scene = new Scene(fxmlLoader.load()); + // 透明背景 + scene.setFill(Paint.valueOf("#00000000")); + // 设置场景 + stage.setScene(scene); + // 设置标题 + stage.setTitle("Roomit-工具箱"); + // 居中 + stage.centerOnScreen(); + // 只有一个x的任务栏 + stage.setResizable(false); + stage.initModality(Modality.APPLICATION_MODAL); + // 置顶 + stage.setAlwaysOnTop(true); + } catch (IOException e) { + e.printStackTrace(); + } } @Override public void start(Stage stage) throws IOException { - // 加载FXML文件 - FXMLLoader fxmlLoader = new FXMLLoader(SettingWindow.class.getResource("fxml/toolsWindow.fxml")); - Scene scene = new Scene(fxmlLoader.load()); - // 设置场景 - stage.setScene(scene); + if (stage.isShowing()) { + return; + } // 将窗口显示出来 stage.show(); } @@ -49,4 +70,16 @@ public class ToolsWindow extends Application { } } + public boolean isShowing() { + return stage.isShowing(); + } + + public void setOnHidden(EventHandler value) { + stage.setOnHidden(value); + } + + public void hide() { + stage.hide(); + } + } diff --git a/src/main/java/org/rococy/roomit/control/RoomItCanvas.java b/src/main/java/org/rococy/roomit/control/RoomItCanvas.java index 3c66521..5f4a574 100644 --- a/src/main/java/org/rococy/roomit/control/RoomItCanvas.java +++ b/src/main/java/org/rococy/roomit/control/RoomItCanvas.java @@ -3,10 +3,12 @@ package org.rococy.roomit.control; import javafx.scene.Node; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; +import javafx.scene.paint.Color; import javafx.scene.paint.Paint; import javafx.scene.shape.StrokeLineCap; import javafx.scene.shape.StrokeLineJoin; import org.rococy.roomit.config.ConfigurationManager; +import org.rococy.roomit.constant.GlobalConsts; import org.rococy.roomit.domain.BrushConfiguration; import org.rococy.roomit.domain.CanvasPoint; import org.rococy.roomit.util.ScreenUtils; @@ -136,7 +138,8 @@ public class RoomItCanvas extends Canvas { private void initGraphics() { gc = this.getGraphicsContext2D(); // 画笔颜色 - gc.setStroke(Paint.valueOf(configuration.getStrokeColor())); + String strokeColor = configuration.getStrokeColor(); + gc.setStroke(Paint.valueOf(strokeColor.equals(GlobalConsts.THEME_COLOR) ? Color.RED.toString() : strokeColor)); // 线条宽度 gc.setLineWidth(configuration.getLineWidth()); // 让线变得圆滑 diff --git a/src/main/java/org/rococy/roomit/controller/MainWindowController.java b/src/main/java/org/rococy/roomit/controller/MainWindowController.java index 5ce6ad6..877db4e 100644 --- a/src/main/java/org/rococy/roomit/controller/MainWindowController.java +++ b/src/main/java/org/rococy/roomit/controller/MainWindowController.java @@ -10,10 +10,12 @@ import javafx.scene.input.MouseEvent; import javafx.scene.layout.Background; import javafx.scene.shape.Shape; import javafx.stage.Stage; +import org.rococy.roomit.ToolsWindow; import org.rococy.roomit.config.ConfigurationManager; import org.rococy.roomit.constant.KeyBoardConsts; import org.rococy.roomit.control.Container; import org.rococy.roomit.control.*; +import org.rococy.roomit.controller.base.BaseController; import org.rococy.roomit.cursor.RoomItCursor; import org.rococy.roomit.domain.KeyBoardConfiguration; import org.rococy.roomit.event.RoomItCursorEvent; @@ -37,7 +39,7 @@ import java.util.ResourceBundle; * @author Rococy * @date 2022/9/8 */ -public class MainWindowController implements Initializable { +public class MainWindowController extends BaseController implements Initializable { @FXML private Container container; @@ -91,59 +93,7 @@ public class MainWindowController implements Initializable { @FXML public void windowKeyPressed(KeyEvent event) { - String keyBoardText = KeyBoardUtils.parse(event); - - switch (keyBoardConfiguration.getType(keyBoardText)) { - // 切换为画笔 - case KeyBoardConsts.BRUSH: { - changeState(BRUSH_SYMBOL); - break; - } - - // 切换为绘制矩形状态 - case KeyBoardConsts.RECTANGLE: { - changeState(RECTANGLE_SYMBOL); - shapePane.switchToDrawRectangle(); - break; - } - - // 切换为绘制椭圆状态 - case KeyBoardConsts.ELLIPSE: { - changeState(ELLIPSE_SYMBOL); - shapePane.switchToDrawEllipse(); - break; - } - - // 弹出颜色框 picker - case KeyBoardConsts.COLOR_PICKER: { - ejectColorPicker(); - break; - } - - // 鼠标放大操作 expand - case KeyBoardConsts.EXPEND_MOUSE: { - cursor.expand(globalMouseX, globalMouseY); - break; - } - - // 清空操作 clear - case KeyBoardConsts.CLEAR: { - this.clear(); - break; - } - - // 回退操作 - case KeyBoardConsts.BACK: { - canvasGroup.undo(); - break; - } - - // 将截图放入剪切板操作 - case KeyBoardConsts.SCREENSHOT_AND_COPY: { - this.captureToClipBoard(); - break; - } - } + this.triggerKeyboard(KeyBoardUtils.parse(event)); } @FXML @@ -169,6 +119,60 @@ public class MainWindowController implements Initializable { initDrawingBoard(); } + public void triggerKeyboard(String keyBoardText) { + switch (keyBoardConfiguration.getType(keyBoardText)) { + // 切换为画笔 + case KeyBoardConsts.BRUSH -> changeState(BRUSH_SYMBOL); + + // 切换为绘制矩形状态 + case KeyBoardConsts.RECTANGLE -> { + changeState(RECTANGLE_SYMBOL); + shapePane.switchToDrawRectangle(); + } + + // 切换为绘制椭圆状态 + case KeyBoardConsts.ELLIPSE -> { + changeState(ELLIPSE_SYMBOL); + shapePane.switchToDrawEllipse(); + } + + case KeyBoardConsts.TOOLS -> ejectToolsWindow(); + + // 弹出颜色框 picker + case KeyBoardConsts.COLOR_PICKER -> ejectColorPicker(); + + // 鼠标放大操作 expand + case KeyBoardConsts.EXPEND_MOUSE -> cursor.expand(globalMouseX, globalMouseY); + + // 清空操作 clear + case KeyBoardConsts.CLEAR -> this.clear(); + + // 回退操作 + case KeyBoardConsts.BACK -> canvasGroup.undo(); + + // 将截图放入剪切板操作 + case KeyBoardConsts.SCREENSHOT_AND_COPY -> { + ToolsWindow toolsWindow = ToolsWindow.getInstance(); + if (toolsWindow.isShowing()) { + toolsWindow.setOnHidden(e -> { + try { + Thread.sleep(500); + this.captureToClipBoard(); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + }); + toolsWindow.hide(); + } else { + this.captureToClipBoard(); + } + } + + case KeyBoardConsts.OPEN_OR_CLOSE -> container.getScene().getWindow().hide(); + } + } + + /** * 初始化最外层的pane */ @@ -301,6 +305,13 @@ public class MainWindowController implements Initializable { colorPicker.show(); } + /** + * 弹出工具箱 + */ + private void ejectToolsWindow() { + ToolsWindow.getInstance().show(); + } + /** * 截屏并粘贴至剪切板 */ @@ -323,7 +334,12 @@ public class MainWindowController implements Initializable { container.setCursor(Cursor.DEFAULT); }); - toast.setOnTransparentReleased(() -> ((Stage) container.getScene().getWindow()).close()); + toast.setOnTransparentReleased(() -> { + Stage stage = ((Stage) container.getScene().getWindow()); + if (stage != null) { + stage.close(); + } + }); container.addChildren(toast); } catch (AWTException e) { diff --git a/src/main/java/org/rococy/roomit/controller/ToolsWindowController.java b/src/main/java/org/rococy/roomit/controller/ToolsWindowController.java index ee30d88..136e9a8 100644 --- a/src/main/java/org/rococy/roomit/controller/ToolsWindowController.java +++ b/src/main/java/org/rococy/roomit/controller/ToolsWindowController.java @@ -1,9 +1,77 @@ package org.rococy.roomit.controller; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.Tooltip; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.TilePane; +import javafx.scene.layout.VBox; +import org.rococy.roomit.config.ConfigurationManager; +import org.rococy.roomit.controller.context.ControllerContext; +import org.rococy.roomit.domain.KeyBoardConfiguration; + +import java.net.URL; +import java.util.ResourceBundle; + /** * @author Rococy * @date 2022/10/6 */ -public class ToolsWindowController { +public class ToolsWindowController implements Initializable { + @FXML + private TilePane container; + + @FXML + private VBox brushImageWrapper; + + @FXML + private VBox rectangleImageWrapper; + + @FXML + private VBox ellipseImageWrapper; + + @FXML + private VBox colorPickerImageWrapper; + + @FXML + private VBox expendMouseImageWrapper; + + @FXML + private VBox clearImageWrapper; + + @FXML + private VBox screenshotAndCopyImageWrapper; + + @FXML + private VBox openOrCloseImageWrapper; + + private final KeyBoardConfiguration keyBoardConfiguration = ConfigurationManager.getKeyboardConfiguration(); + + @Override + public void initialize(URL location, ResourceBundle resources) { + Tooltip.install(brushImageWrapper, new Tooltip("画笔")); + Tooltip.install(rectangleImageWrapper, new Tooltip("矩形")); + Tooltip.install(ellipseImageWrapper, new Tooltip("椭圆")); + Tooltip.install(colorPickerImageWrapper, new Tooltip("颜色选择器")); + Tooltip.install(expendMouseImageWrapper, new Tooltip("鼠标放大")); + Tooltip.install(clearImageWrapper, new Tooltip("清空画板")); + Tooltip.install(screenshotAndCopyImageWrapper, new Tooltip("截屏并复制")); + Tooltip.install(openOrCloseImageWrapper, new Tooltip("打开或关闭画板")); + } + + @FXML + public void vBoxMouseClicked(MouseEvent event) { + String keyboardType = (String) ((VBox) event.getSource()).getUserData(); + String keyBoardText = keyBoardConfiguration.getKeyBoardMap().get(keyboardType); + MainWindowController mainWindowController = this.getMainController(); + mainWindowController.triggerKeyboard(keyBoardText); + + // 隐藏当前窗口 + container.getScene().getWindow().hide(); + } + + private MainWindowController getMainController() { + return (MainWindowController) ControllerContext.getControllerByType(MainWindowController.class); + } } diff --git a/src/main/java/org/rococy/roomit/controller/base/BaseController.java b/src/main/java/org/rococy/roomit/controller/base/BaseController.java new file mode 100644 index 0000000..851d119 --- /dev/null +++ b/src/main/java/org/rococy/roomit/controller/base/BaseController.java @@ -0,0 +1,15 @@ +package org.rococy.roomit.controller.base; + +import org.rococy.roomit.controller.context.ControllerContext; + +/** + * @author Rococy + * @date 2022/10/7 + */ +public abstract class BaseController { + + public BaseController() { + ControllerContext.addController(this); + } + +} diff --git a/src/main/java/org/rococy/roomit/controller/context/ControllerContext.java b/src/main/java/org/rococy/roomit/controller/context/ControllerContext.java new file mode 100644 index 0000000..44ddcf4 --- /dev/null +++ b/src/main/java/org/rococy/roomit/controller/context/ControllerContext.java @@ -0,0 +1,28 @@ +package org.rococy.roomit.controller.context; + +import org.rococy.roomit.controller.base.BaseController; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author Rococy + * @date 2022/10/7 + */ +public class ControllerContext { + + private static final Map CONTROLLER_MAP = new HashMap<>(4); + + public static void addController(BaseController baseController) { + CONTROLLER_MAP.put(baseController.getClass().getSimpleName(), baseController); + } + + public static BaseController getControllerByType(Class type) { + for (BaseController controller : CONTROLLER_MAP.values()) { + if (controller.getClass() == type) { + return controller; + } + } + return null; + } +} diff --git a/src/main/resources/org/rococy/roomit/css/tools.css b/src/main/resources/org/rococy/roomit/css/tools.css new file mode 100644 index 0000000..2f69e34 --- /dev/null +++ b/src/main/resources/org/rococy/roomit/css/tools.css @@ -0,0 +1,23 @@ +#container { + -fx-background-radius: 5px; + -fx-pref-width: 480px; + -fx-pref-height: 200px; +} + +.vbox { + -fx-pref-width: 120px; + -fx-pref-height: 100px; + -fx-background-color: #00000000; + -fx-cursor: hand; + -fx-alignment: center; +} + +.vbox:hover { + -fx-background-color: #ececec; +} + +.tooltip { + -fx-background-color: #fff; + -fx-text-fill: #000; + -fx-font-size: 12px; +} diff --git a/src/main/resources/org/rococy/roomit/fxml/mainWindow.fxml b/src/main/resources/org/rococy/roomit/fxml/mainWindow.fxml index c745a16..f232ebd 100644 --- a/src/main/resources/org/rococy/roomit/fxml/mainWindow.fxml +++ b/src/main/resources/org/rococy/roomit/fxml/mainWindow.fxml @@ -10,7 +10,6 @@ id="container" onMouseEntered="#windowMouseEntered" onKeyPressed="#windowKeyPressed"> - diff --git a/src/main/resources/org/rococy/roomit/fxml/toolsWindow.fxml b/src/main/resources/org/rococy/roomit/fxml/toolsWindow.fxml index d90cd0d..08c1a06 100644 --- a/src/main/resources/org/rococy/roomit/fxml/toolsWindow.fxml +++ b/src/main/resources/org/rococy/roomit/fxml/toolsWindow.fxml @@ -1,21 +1,55 @@ - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/src/main/resources/org/rococy/roomit/img/brush-logo.png b/src/main/resources/org/rococy/roomit/img/brush-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..68b1cdc6759ec27b852e764cc851af23a6dab692 GIT binary patch literal 20642 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/rococy/roomit/img/clear-logo.png b/src/main/resources/org/rococy/roomit/img/clear-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fa5a88818310981ec9bc4ad4ae0cd7d9f090431c GIT binary patch literal 3881 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/rococy/roomit/img/color-picker-logo.png b/src/main/resources/org/rococy/roomit/img/color-picker-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1aaebce0ce252b511a9471d2ee1b18325d29c851 GIT binary patch literal 5974 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/rococy/roomit/img/ellipse-logo.png b/src/main/resources/org/rococy/roomit/img/ellipse-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d09216049a16431485cd414c7c24be56ed973560 GIT binary patch literal 12740 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/org/rococy/roomit/img/rectangle-logo.png b/src/main/resources/org/rococy/roomit/img/rectangle-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..43752e185a5a03aaf9c0f64b95b7f8ab12ec67b6 GIT binary patch literal 4797 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 E14*&A0ssI2 literal 0 HcmV?d00001