From 98ee99168bfac794149a652e29eae449ea001a2f Mon Sep 17 00:00:00 2001 From: Sky <3525078530@qq.com> Date: Wed, 10 Apr 2024 20:00:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AE=80=E9=99=8B=E7=9A=84?= =?UTF-8?q?=E9=94=81=E5=AE=9A=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/manager/BottomStatusBoxManager.java | 23 +++++++++++++----- src/main/resources/jcnc/app/images/lock.png | Bin 0 -> 5172 bytes src/main/resources/jcnc/app/images/unlock.png | Bin 0 -> 4842 bytes 3 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/jcnc/app/images/lock.png create mode 100644 src/main/resources/jcnc/app/images/unlock.png diff --git a/src/main/java/org/jcnc/jnotepad/ui/views/manager/BottomStatusBoxManager.java b/src/main/java/org/jcnc/jnotepad/ui/views/manager/BottomStatusBoxManager.java index 3c356e3..057dcc5 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/views/manager/BottomStatusBoxManager.java +++ b/src/main/java/org/jcnc/jnotepad/ui/views/manager/BottomStatusBoxManager.java @@ -8,6 +8,8 @@ import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.Tab; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.layout.HBox; import org.jcnc.jnotepad.api.core.views.manager.builder.BottomStatusBoxButtonBuilder; import org.jcnc.jnotepad.app.common.constants.TextConstants; @@ -20,7 +22,6 @@ import org.kordamp.ikonli.javafx.FontIcon; import java.nio.charset.Charset; -import static org.kordamp.ikonli.antdesignicons.AntDesignIconsFilled.LOCK; import static org.kordamp.ikonli.antdesignicons.AntDesignIconsFilled.UNLOCK; /** @@ -220,17 +221,27 @@ public class BottomStatusBoxManager { * @param tab the tab to update the read-only property for * @param tabs the list of tabs in the center tab pane */ + + + + public void updateReadOnlyProperty(CenterTab tab, ObservableList tabs) { Button readOnlyButton = BOTTOM_STATUS_BOX.getReadOnlyButton(); + readOnlyButton.setStyle("-fx-background-color: rgb(230, 230, 230);"); readOnlyButton.setVisible(!tabs.isEmpty()); - FontIcon icon; + + ImageView icon; + double iconSize = 20; // 修改圖標大小 if (tab.getTextCodeArea().isEditable()) { - icon = FontIcon.of(UNLOCK); - readOnlyButton.setGraphic(icon); + icon = new ImageView(new Image("file:src/main/resources/jcnc/app/images/unlock.png")); } else { - icon = FontIcon.of(LOCK); - readOnlyButton.setGraphic(icon); + icon = new ImageView(new Image("file:src/main/resources/jcnc/app/images/lock.png")); } + icon.setFitWidth(iconSize); // 設置圖標寬度 + icon.setFitHeight(iconSize); // 設置圖標高度 + readOnlyButton.setGraphic(icon); + tab.getReadOnly().setSelected(!tab.getTextCodeArea().isEditable()); } + } diff --git a/src/main/resources/jcnc/app/images/lock.png b/src/main/resources/jcnc/app/images/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..778bb5bdf5290d461326a467aeaf6c9a595fa73f GIT binary patch literal 5172 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 PWk7(2imq~%5+dS1jhKJs literal 0 HcmV?d00001 diff --git a/src/main/resources/jcnc/app/images/unlock.png b/src/main/resources/jcnc/app/images/unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..a43eaad271b4c64a7350b48094d75ec37364f318 GIT binary patch literal 4842 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 literal 0 HcmV?d00001 -- Gitee