diff --git a/src/main/java/com/zhangmeng/tools/controller/ColorChooseController.java b/src/main/java/com/zhangmeng/tools/controller/ColorChooseController.java new file mode 100644 index 0000000..d7169f9 --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/controller/ColorChooseController.java @@ -0,0 +1,52 @@ +package com.zhangmeng.tools.controller; + +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; +import javafx.fxml.FXML; +import javafx.scene.Node; +import javafx.scene.control.ColorPicker; +import javafx.scene.control.TextArea; +import javafx.scene.layout.AnchorPane; +import javafx.scene.paint.Color; +import lombok.extern.slf4j.Slf4j; + +/** + * @author : 芊芊墨客 + * @version : 1.0 + * @date : 2023-02-20 16:10 + */ +@Slf4j +public class ColorChooseController { + + @FXML + private AnchorPane root; + + @FXML + private ColorPicker colorPicker; + + @FXML + private TextArea textArea; + + @FXML + public void initialize() { + + colorPicker.valueProperty().addListener((observable, oldValue, newValue) -> { + + log.info("#----:" + newValue.toString()); + log.info("red:" + newValue.getRed()); + log.info("green:" + newValue.getGreen()); + log.info("blue:" + newValue.getBlue()); + + String color = newValue.toString().substring(2); + + root.setStyle("-fx-background-color: #" + color); + }); + + colorPicker.setOnAction(event -> { + log.info("colorPicker.setOnAction ------------------------"); + Color value = colorPicker.getValue(); + String color = value.toString().substring(2); + textArea.setText("#" + color); + }); + } +} diff --git a/src/main/java/com/zhangmeng/tools/controller/HomeController.java b/src/main/java/com/zhangmeng/tools/controller/HomeController.java index 9ee7533..56197d2 100644 --- a/src/main/java/com/zhangmeng/tools/controller/HomeController.java +++ b/src/main/java/com/zhangmeng/tools/controller/HomeController.java @@ -89,6 +89,26 @@ public class HomeController implements Serializable { load_small_tools(0); } + @FXML + private void hex_16_menu_item(){ + load_small_tools(0); + } + + @FXML + private void unicode_menu_item(){ + load_small_tools(1); + } + + @FXML + private void jwt_menu_item(){ + load_small_tools(2); + } + + @FXML + private void color_choose_menu_item(){ + load_small_tools(3); + } + public void load_small_tools(int index){ AnchorPane fx = null; try { diff --git a/src/main/java/com/zhangmeng/tools/controller/PlayerController.java b/src/main/java/com/zhangmeng/tools/controller/PlayerController.java index 6974dcb..fe86b8d 100644 --- a/src/main/java/com/zhangmeng/tools/controller/PlayerController.java +++ b/src/main/java/com/zhangmeng/tools/controller/PlayerController.java @@ -68,6 +68,26 @@ public class PlayerController { load_encrypt(); } + @FXML + private void hex_16_menu_item(){ + load_small_tools(0); + } + + @FXML + private void unicode_menu_item(){ + load_small_tools(1); + } + + @FXML + private void jwt_menu_item(){ + load_small_tools(2); + } + + @FXML + private void color_choose_menu_item(){ + load_small_tools(3); + } + @FXML public void video_menu_item() { boolean flag = false; @@ -95,6 +115,24 @@ public class PlayerController { vip_parser(flag); } + + public void load_small_tools(int index){ + AnchorPane fx = null; + try { + fx = FXMLLoader.load(ResourcesUtils.getResource("small-tools")); + } catch (IOException e) { + e.printStackTrace(); + } + + Scene scene = new Scene(fx); + Stage stage = (Stage) splitPane.getScene().getWindow(); + stage.setScene(scene); + + ListView listView = (ListView) fx.lookup("#listView"); + listView.getSelectionModel().select(index); + } + + public void load_encrypt() { Stage stage = (Stage) splitPane.getScene().getWindow(); diff --git a/src/main/java/com/zhangmeng/tools/controller/SmallToolsController.java b/src/main/java/com/zhangmeng/tools/controller/SmallToolsController.java index 8d698ee..bf96f1c 100644 --- a/src/main/java/com/zhangmeng/tools/controller/SmallToolsController.java +++ b/src/main/java/com/zhangmeng/tools/controller/SmallToolsController.java @@ -43,6 +43,7 @@ public class SmallToolsController { private AnchorPane hex_16; private AnchorPane unicode; private AnchorPane jwt_web; + private AnchorPane color_choose; @FXML private ListView listView; @@ -64,17 +65,17 @@ public class SmallToolsController { @FXML public void video_menu_item() { - + load_player(0); } @FXML public void music_menu_item() { - + load_player(1); } @FXML public void vip_parser_menu_item() { - + load_player(2); } @FXML @@ -88,6 +89,16 @@ public class SmallToolsController { unicode(flag); } + @FXML + public void jwt_menu_item(){ + boolean flag = false; + if (jwt_web != null){ + flag = true; + } + + jwt_web(flag); + } + @FXML public void hex_16_menu_item(){ boolean flag = false; @@ -97,6 +108,32 @@ public class SmallToolsController { hex_16(flag); } + @FXML + public void color_choose_menu_item(){ + + boolean flag = false; + if (color_choose != null){ + flag = true; + } + color_choose(flag); + } + + public void load_player(int index) { + AnchorPane fx = null; + try { + fx = FXMLLoader.load(ResourcesUtils.getResource("player")); + } catch (IOException e) { + e.printStackTrace(); + } + + Scene scene = new Scene(fx); + Stage stage = (Stage) splitPane.getScene().getWindow(); + stage.setScene(scene); + + ListView listView = (ListView) fx.lookup("#listView"); + listView.getSelectionModel().select(index); + } + public void load_encrypt() { Stage stage = (Stage) splitPane.getScene().getWindow(); @@ -136,6 +173,13 @@ public class SmallToolsController { } jwt_web(flag); } + + if (newValue.getIndex() == 3) { + if (color_choose != null) { + flag = true; + } + color_choose(flag); + } } }); } @@ -145,6 +189,7 @@ public class SmallToolsController { case Hex_16 -> new Image(ImagePath.path(ImagePath.ImagePathType.Hex_16)); case Unicode -> new Image(ImagePath.path(ImagePath.ImagePathType.Unicode)); case JWT_WEB -> new Image(ImagePath.path(ImagePath.ImagePathType.JWT_WEB)); + case COLOR_CHOOSE -> new Image(ImagePath.path(ImagePath.ImagePathType.COLOR_CHOOSE)); }; } @@ -259,6 +304,24 @@ public class SmallToolsController { common_method(); } + public void color_choose(boolean flag){ + //默认选择第一个 + listView.getSelectionModel().select(3); + + if (!flag) { + try { + root = FXMLLoader.load(ResourcesUtils.getResource("color-choose")); + } catch (IOException e) { + e.printStackTrace(); + } + color_choose = root; + } else { + root = color_choose; + } + common_method(); + } + + private void common_method() { splitPane.getItems().remove(1); splitPane.getItems().add(1, root); diff --git a/src/main/java/com/zhangmeng/tools/utils/ImagePath.java b/src/main/java/com/zhangmeng/tools/utils/ImagePath.java index 64870dc..b482e98 100644 --- a/src/main/java/com/zhangmeng/tools/utils/ImagePath.java +++ b/src/main/java/com/zhangmeng/tools/utils/ImagePath.java @@ -58,6 +58,7 @@ public class ImagePath { Hex_16("16 进制"), Unicode("Unicode"), + COLOR_CHOOSE("颜色选择"), ICON_NULL_COVER(""); @@ -240,6 +241,7 @@ public class ImagePath { public static String Hex_16 = "svg/hex_16.png"; public static String Unicode = "svg/unicode.png"; public static String JWT_WEB = "svg/jwt-web.png"; + public static String COLOR_CHOOSE = "svg/color-choose.png"; public static String path(ImagePathType type) { @@ -391,6 +393,9 @@ public class ImagePath { case JWT_WEB: path = ImagePath.JWT_WEB; break; + case COLOR_CHOOSE: + path = ImagePath.COLOR_CHOOSE; + break; } return "static/" + path; } diff --git a/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java b/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java index db535a5..1c7bc3d 100644 --- a/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java +++ b/src/main/java/com/zhangmeng/tools/utils/ResourcesUtils.java @@ -83,6 +83,7 @@ public class ResourcesUtils { Hex_16("16进制(Hex)",0), Unicode("Unicode和字符串转换",1), JWT_WEB("json-web-token",2), + COLOR_CHOOSE("颜色选择",3), ; SmallTools(String title, int index) { diff --git a/src/main/resources/fxml/color-choose.fxml b/src/main/resources/fxml/color-choose.fxml new file mode 100644 index 0000000..a260b23 --- /dev/null +++ b/src/main/resources/fxml/color-choose.fxml @@ -0,0 +1,12 @@ + + + + + + + + + +