From 15d36b504dc89a318fe6396991ea376275dbc7f3 Mon Sep 17 00:00:00 2001 From: zhangmeng <1334717033@qq.com> Date: Thu, 18 May 2023 17:06:18 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B45=E6=9C=8818=E6=97=A517:05:59=20?= =?UTF-8?q?=E9=9F=B3=E4=B9=90=E5=90=8E=E5=8F=B0=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhangmeng/tools/config/Constants.java | 29 ++++++++++ .../tools/controller/MusicController.java | 29 +++------- .../tools/controller/PlayerController.java | 54 ++++++++++++------- 3 files changed, 72 insertions(+), 40 deletions(-) create mode 100644 src/main/java/com/zhangmeng/tools/config/Constants.java diff --git a/src/main/java/com/zhangmeng/tools/config/Constants.java b/src/main/java/com/zhangmeng/tools/config/Constants.java new file mode 100644 index 0000000..8b47e7e --- /dev/null +++ b/src/main/java/com/zhangmeng/tools/config/Constants.java @@ -0,0 +1,29 @@ +package com.zhangmeng.tools.config; + +import javafx.scene.layout.AnchorPane; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author : 芊芊墨客 + * @version : 1.0 + * @date : 2023-05-18 16:22 + */ +public class Constants { + + + public enum Type { + Music + } + + public static Map pane_map = new HashMap<>(); + + public static AnchorPane getRoot(Type type) { + return pane_map.get(type); + } + + public static AnchorPane setRoot(Type type,AnchorPane root) { + return pane_map.put(type,root); + } +} diff --git a/src/main/java/com/zhangmeng/tools/controller/MusicController.java b/src/main/java/com/zhangmeng/tools/controller/MusicController.java index 67e6d6d..b8d86c2 100644 --- a/src/main/java/com/zhangmeng/tools/controller/MusicController.java +++ b/src/main/java/com/zhangmeng/tools/controller/MusicController.java @@ -585,15 +585,13 @@ public class MusicController { private void list_cell() { listView.setCellFactory(new Callback, ListCell>() { - private int position; - Text text = null; public ListCell call(ListView param) { final ListCell cell = new ListCell() { protected void updateItem(File item, boolean empty) { super.updateItem(item, empty); if (!empty && item != null) { - text = new Text(sb.substring(0, sb.length() - 4)); sb = new StringBuffer(item.getName()); + Text text = new Text(sb.substring(0, sb.length() - 4)); text.setWrappingWidth(300.0D); text.setTextAlignment(TextAlignment.CENTER); if (this.getIndex() == MusicController.this.playindex.get()) { @@ -615,17 +613,6 @@ public class MusicController { } }; - - cell.hoverProperty().addListener((observableValue, aBoolean, t1) -> { - if (t1 && !text.getText().equals("")) { - position = listView.getItems().indexOf(text.getText()); - listView.getFocusModel().focus(position); - cell.setStyle("-fx-background-color: #cbcacb"); - } else { - cell.setStyle("-fx-background-color: " + color_cell); - } - }); - MenuItem mi1 = new MenuItem("从列表中移除"); mi1.setOnAction(new EventHandler() { public void handle(ActionEvent event) { @@ -644,17 +631,17 @@ public class MusicController { }); MusicController.this.playindex.addListener(new ChangeListener() { public void changed(ObservableValue observable, Number oldValue, Number newValue) { - Text text; + Text text2; if (newValue.intValue() == cell.getIndex()) { if (cell.getGraphic() != null) { - text = (Text) cell.getGraphic(); - text.setFont(Font.font(16.0D)); - text.setFill(Color.DEEPSKYBLUE); + text2 = (Text) cell.getGraphic(); + text2.setFont(Font.font(16.0D)); + text2.setFill(Color.DEEPSKYBLUE); } } else if (cell.getGraphic() != null) { - text = (Text) cell.getGraphic(); - text.setFont(Font.font(13.0D)); - text.setFill(Color.BLACK); + text2 = (Text) cell.getGraphic(); + text2.setFont(Font.font(13.0D)); + text2.setFill(Color.BLACK); } } diff --git a/src/main/java/com/zhangmeng/tools/controller/PlayerController.java b/src/main/java/com/zhangmeng/tools/controller/PlayerController.java index 85b5292..920ecb3 100644 --- a/src/main/java/com/zhangmeng/tools/controller/PlayerController.java +++ b/src/main/java/com/zhangmeng/tools/controller/PlayerController.java @@ -26,6 +26,7 @@ package com.zhangmeng.tools.controller; +import com.zhangmeng.tools.config.Constants; import com.zhangmeng.tools.utils.ImagePath; import com.zhangmeng.tools.utils.ResourcesUtils; import javafx.beans.property.SimpleDoubleProperty; @@ -89,19 +90,31 @@ public class PlayerController { public static final String color_cell = "#f4f4f4"; public void close_current_page_init() { +// if (video != null) { +// MediaPlayer mp = videoController.getMp(); +// if (mp != null){ +// mp.stop(); +// } +// } +// +// if (music != null) { +// MediaPlayer mp = musicController.getMp(); +// if (mp != null){ +// mp.stop(); +// } +// } + if (video != null) { MediaPlayer mp = videoController.getMp(); - if (mp != null){ - mp.stop(); + if (mp != null) { + mp.stop(); } } if (music != null) { - MediaPlayer mp = musicController.getMp(); - if (mp != null){ - mp.stop(); - } + Constants.setRoot(Constants.Type.Music,music); } + } @FXML @@ -275,7 +288,7 @@ public class PlayerController { } - public void load_encrypt(int index ) { + public void load_encrypt(int index) { close_current_page_init(); Stage stage = (Stage) splitPane.getScene().getWindow(); AnchorPane fx = null; @@ -397,15 +410,18 @@ public class PlayerController { private void music(boolean flag) { listView.getSelectionModel().select(1); if (!flag) { - try { -// root = FXMLLoader.load(ResourcesUtils.getResource("music")); - FXMLLoader load = new FXMLLoader(ResourcesUtils.getResource("music")); - root = load.load(); - musicController = load.getController(); - } catch (IOException e) { - e.printStackTrace(); + if (Constants.getRoot(Constants.Type.Music) != null){ + music = Constants.getRoot(Constants.Type.Music); + }else { + try { + FXMLLoader load = new FXMLLoader(ResourcesUtils.getResource("music")); + root = load.load(); + musicController = load.getController(); + } catch (IOException e) { + e.printStackTrace(); + } + music = root; } - music = root; } else { root = music; } @@ -451,9 +467,9 @@ public class PlayerController { if (!flag) { try { // root = FXMLLoader.load(ResourcesUtils.getResource("video")); - FXMLLoader load = new FXMLLoader(ResourcesUtils.getResource("video")); - root = load.load(); - videoController = load.getController(); + FXMLLoader load = new FXMLLoader(ResourcesUtils.getResource("video")); + root = load.load(); + videoController = load.getController(); } catch (IOException e) { e.printStackTrace(); } @@ -589,7 +605,7 @@ public class PlayerController { public void music_parser_menu_item(ActionEvent event) { boolean flag = false; - if (music_parser != null){ + if (music_parser != null) { flag = true; } music_parser(flag);