From a5c31a81ecd90649847a4b19f141f658742351d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Sat, 23 Sep 2023 22:06:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/pluginstage/PluginManagementPane.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java b/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java index 3a0566e..37f6b08 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java +++ b/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java @@ -73,13 +73,13 @@ public class PluginManagementPane extends BorderPane { TabPane rootTabPane = new TabPane(); // 创建市场、已安装和设置选项卡 - Tab marketTab = new Tab("市场"); Tab installedTab = new Tab("已安装"); + Tab marketTab = new Tab("市场"); Tab myTab = new Tab("设置"); // 禁用选项卡关闭按钮 - marketTab.setClosable(false); installedTab.setClosable(false); + marketTab.setClosable(false); myTab.setClosable(false); // 创建选项卡内容面板 @@ -89,22 +89,22 @@ public class PluginManagementPane extends BorderPane { // 创建自定义分割面板 customSplitPane = new CustomSplitPane("", ""); - marketTabContent.setCenter(customSplitPane); + installedTabContent.setCenter(customSplitPane); // 获取插件列表 customSplitPane.setLeftContent(getScrollPane()); // 创建示例按钮并添加到已安装和设置选项卡中 - installedTabContent.setCenter(new Button("已安装")); + marketTabContent.setCenter(new Button("市场")); myTabContent.setCenter(new Button("设置")); // 将选项卡内容设置到选项卡中 - marketTab.setContent(marketTabContent); installedTab.setContent(installedTabContent); + marketTab.setContent(marketTabContent); myTab.setContent(myTabContent); // 将选项卡添加到选项卡面板中 - rootTabPane.getTabs().addAll(marketTab, installedTab, myTab); + rootTabPane.getTabs().addAll(installedTab, marketTab, myTab); // 将选项卡面板设置为插件管理面板的中心内容 this.setCenter(rootTabPane); From 5e35ba94c788fa3ac78b06d0bc397ee786e4c9c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Sat, 23 Sep 2023 22:19:51 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/pluginstage/PluginManagementPane.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java b/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java index 37f6b08..0e8e5a2 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java +++ b/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java @@ -6,6 +6,8 @@ import atlantafx.base.theme.Styles; import javafx.geometry.Insets; import javafx.scene.Node; import javafx.scene.control.Button; +import javafx.scene.control.Menu; +import javafx.scene.control.MenuItem; import javafx.scene.web.WebEngine; import javafx.scene.web.WebView; import org.commonmark.parser.Parser; @@ -22,6 +24,7 @@ import org.jcnc.jnotepad.util.LogUtil; import org.slf4j.Logger; import java.awt.*; +import java.awt.MenuBar; import java.io.IOException; import java.net.URI; import java.nio.file.Files; @@ -118,7 +121,9 @@ public class PluginManagementPane extends BorderPane { private ScrollPane getScrollPane() { // 创建示例插件列表项 var image1 = new Image("plug.png"); - var tile1 = createTile("运行插件", "这是一个运行插件\t\t\t\t\t\t", image1); + var tile1 = createTile("运行插件", "这是一个运行插件", image1); + //注意,第一个tile必须要设置宽度 + tile1.setPrefWidth(1000); var image2 = new Image("plug.png"); var tile2 = createTile("终端插件", "这是一个终端插件", image2); @@ -212,8 +217,12 @@ public class PluginManagementPane extends BorderPane { var authorLink = getAuthorLink(); authorBox.getChildren().addAll(author, authorLink); - var state = new Text("未启用"); + var uninstall =new MenuItem("卸载"); + var state = new SplitMenuButton(uninstall); + state.setText("禁用"); + state.getStyleClass().addAll(Styles.ACCENT); + state.setPrefWidth(80); var main = new VBox(10); // 创建TabPane并添加标签页 From 518ec4d12c2f6de2950a13e4e382eef8c3970a10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Sat, 23 Sep 2023 22:27:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BA=95=E9=83=A8?= =?UTF-8?q?=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/pluginstage/PluginManagementPane.java | 31 +++++++++++++++++-- .../jcnc/jnotepad/ui/setstage/SetStage.java | 2 +- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java b/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java index 0e8e5a2..5de9a40 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java +++ b/src/main/java/org/jcnc/jnotepad/ui/pluginstage/PluginManagementPane.java @@ -4,12 +4,15 @@ import atlantafx.base.controls.Tile; import atlantafx.base.controls.ToggleSwitch; import atlantafx.base.theme.Styles; import javafx.geometry.Insets; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; +import javafx.scene.paint.Color; import javafx.scene.web.WebEngine; import javafx.scene.web.WebView; +import javafx.stage.Stage; import org.commonmark.parser.Parser; import org.commonmark.renderer.html.HtmlRenderer; import javafx.scene.control.ScrollPane; @@ -20,6 +23,7 @@ import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.text.Text; +import org.jcnc.jnotepad.ui.module.CustomSetButton; import org.jcnc.jnotepad.util.LogUtil; import org.slf4j.Logger; @@ -111,6 +115,28 @@ public class PluginManagementPane extends BorderPane { // 将选项卡面板设置为插件管理面板的中心内容 this.setCenter(rootTabPane); + + HBox bottomBox = new HBox(10); + bottomBox.setAlignment(Pos.CENTER_RIGHT); + bottomBox.setStyle("-fx-background-color: rgba(43,43,43,0.12);"); + bottomBox.setPadding(new Insets(7, 15, 7, 0)); + Button confirmButton = new Button(" 确认 "); + confirmButton.setTextFill(Color.WHITE); + + confirmButton.getStyleClass().addAll(Styles.SMALL); + confirmButton.setStyle("-fx-background-color: rgb(54,88,128);"); + CustomSetButton cancelButton = new CustomSetButton(" 取消 "); + cancelButton.setOnAction(event -> { + Stage stage = (Stage) cancelButton.getScene().getWindow(); + stage.close(); + + }); + cancelButton.getStyleClass().addAll(Styles.SMALL); + Button applicationButton = new Button(" 应用 "); + applicationButton.getStyleClass().addAll(Styles.SMALL); + bottomBox.getChildren().addAll(confirmButton, cancelButton, applicationButton); + + this.setBottom(bottomBox); } /** @@ -122,7 +148,8 @@ public class PluginManagementPane extends BorderPane { // 创建示例插件列表项 var image1 = new Image("plug.png"); var tile1 = createTile("运行插件", "这是一个运行插件", image1); - //注意,第一个tile必须要设置宽度 + + // 注意,第一个tile必须要设置宽度 tile1.setPrefWidth(1000); var image2 = new Image("plug.png"); @@ -218,7 +245,7 @@ public class PluginManagementPane extends BorderPane { authorBox.getChildren().addAll(author, authorLink); - var uninstall =new MenuItem("卸载"); + var uninstall = new MenuItem("卸载"); var state = new SplitMenuButton(uninstall); state.setText("禁用"); state.getStyleClass().addAll(Styles.ACCENT); diff --git a/src/main/java/org/jcnc/jnotepad/ui/setstage/SetStage.java b/src/main/java/org/jcnc/jnotepad/ui/setstage/SetStage.java index 82388bd..279989e 100644 --- a/src/main/java/org/jcnc/jnotepad/ui/setstage/SetStage.java +++ b/src/main/java/org/jcnc/jnotepad/ui/setstage/SetStage.java @@ -77,7 +77,7 @@ public class SetStage extends Stage { HBox bottomBox = new HBox(10); bottomBox.setAlignment(Pos.CENTER_RIGHT); bottomBox.setStyle("-fx-background-color: rgba(43,43,43,0.12);"); - bottomBox.setPadding(new Insets(5, 15, 5, 0)); + bottomBox.setPadding(new Insets(7, 15, 7, 0)); Button confirmButton = new Button(" 确认 "); confirmButton.setTextFill(Color.WHITE);