Skip to content

Commit c5971a0

Browse files
committed
添加插件管理页面
1 parent 81e0601 commit c5971a0

5 files changed

Lines changed: 198 additions & 0 deletions

File tree

src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.xwintop.xJavaFxTool.controller;
22

33
import com.xwintop.xJavaFxTool.common.logback.ConsoleLogAppender;
4+
import com.xwintop.xJavaFxTool.controller.index.PluginManageController;
45
import com.xwintop.xJavaFxTool.model.ToolFxmlLoaderConfiguration;
56
import com.xwintop.xJavaFxTool.services.IndexService;
67
import com.xwintop.xJavaFxTool.utils.Config;
@@ -290,6 +291,8 @@ private void addWebView(String title, String url, String iconPath) {
290291

291292
@FXML
292293
private void pluginManageAction(ActionEvent event) throws Exception {
294+
FXMLLoader fXMLLoader = PluginManageController.getFXMLLoader();
295+
JavaFxViewUtil.openNewWindow(bundle.getString("plugin_manage"), fXMLLoader.load());
293296
}
294297

295298
@FXML
@@ -313,6 +316,7 @@ private void openLogFileAction(ActionEvent event) throws Exception {
313316
private void openLogFolderAction(ActionEvent event) throws Exception {
314317
XJavaFxSystemUtil.openDirectory("logs/");
315318
}
319+
316320
@FXML
317321
private void openConfigFolderAction(ActionEvent event) throws Exception {
318322
XJavaFxSystemUtil.openDirectory(ConfigureUtil.getConfigurePath());
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package com.xwintop.xJavaFxTool.controller.index;
2+
3+
import com.xwintop.xJavaFxTool.controller.IndexController;
4+
import com.xwintop.xJavaFxTool.services.index.PluginManageService;
5+
import com.xwintop.xJavaFxTool.utils.JavaFxViewUtil;
6+
import com.xwintop.xJavaFxTool.view.index.PluginManageView;
7+
import com.xwintop.xcore.util.javafx.TooltipUtil;
8+
import javafx.collections.FXCollections;
9+
import javafx.collections.ObservableList;
10+
import javafx.event.ActionEvent;
11+
import javafx.fxml.FXML;
12+
import javafx.fxml.FXMLLoader;
13+
import lombok.Getter;
14+
import lombok.Setter;
15+
import lombok.extern.slf4j.Slf4j;
16+
17+
import java.net.URL;
18+
import java.util.HashMap;
19+
import java.util.Map;
20+
import java.util.ResourceBundle;
21+
22+
/**
23+
* @ClassName: PluginManageController
24+
* @Description: 插件管理
25+
* @author: xufeng
26+
* @date: 2020/1/19 17:41
27+
*/
28+
29+
@Getter
30+
@Setter
31+
@Slf4j
32+
public class PluginManageController extends PluginManageView {
33+
private PluginManageService pluginManageService = new PluginManageService(this);
34+
private ObservableList<Map<String, String>> pluginDataTableData = FXCollections.observableArrayList();
35+
36+
public static FXMLLoader getFXMLLoader() {
37+
FXMLLoader fXMLLoader = new FXMLLoader(IndexController.class.getResource("/com/xwintop/xJavaFxTool/fxmlView/index/PluginManage.fxml"));
38+
return fXMLLoader;
39+
}
40+
41+
@Override
42+
public void initialize(URL location, ResourceBundle resources) {
43+
initView();
44+
initEvent();
45+
initService();
46+
}
47+
48+
private void initView() {
49+
JavaFxViewUtil.setTableColumnMapValueFactory(nameTableColumn, "nameTableColumn");
50+
JavaFxViewUtil.setTableColumnMapValueFactory(synopsisTableColumn, "synopsisTableColumn");
51+
JavaFxViewUtil.setTableColumnMapValueFactory(versionTableColumn, "versionTableColumn");
52+
JavaFxViewUtil.setTableColumnMapValueFactory(isDownloadTableColumn, "isDownloadTableColumn");
53+
JavaFxViewUtil.setTableColumnMapAsCheckBoxValueFactory(isEnableTableColumn, "isEnableTableColumn");
54+
JavaFxViewUtil.setTableColumnButonFactory(downloadTableColumn, "下载", (me, index) -> {
55+
try {
56+
// fileCopyService.copyAction(tableData.get(index));
57+
} catch (Exception e) {
58+
log.error("下载插件失败:", e);
59+
TooltipUtil.showToast("下载插件失败:" + e.getMessage());
60+
}
61+
});
62+
pluginDataTableView.setItems(pluginDataTableData);
63+
}
64+
65+
private void initEvent() {
66+
}
67+
68+
private void initService() {
69+
Map<String, String> dataRow = new HashMap<String, String>();
70+
dataRow.put("nameTableColumn", "nameTableColumn");
71+
dataRow.put("synopsisTableColumn", "synopsisTableColumn");
72+
dataRow.put("versionTableColumn", "0.0.1");
73+
dataRow.put("isDownloadTableColumn", "否");
74+
dataRow.put("isEnableTableColumn", "false");
75+
pluginDataTableData.add(dataRow);
76+
}
77+
78+
@FXML
79+
private void selectPluginAction(ActionEvent event) {
80+
}
81+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.xwintop.xJavaFxTool.services.index;
2+
3+
import com.xwintop.xJavaFxTool.controller.index.PluginManageController;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
import lombok.extern.slf4j.Slf4j;
7+
8+
/**
9+
* @ClassName: PluginManageService
10+
* @Description: 插件管理
11+
* @author: xufeng
12+
* @date: 2020/1/19 17:41
13+
*/
14+
15+
@Getter
16+
@Setter
17+
@Slf4j
18+
public class PluginManageService {
19+
private PluginManageController pluginManageController;
20+
21+
public PluginManageService(PluginManageController pluginManageController) {
22+
this.pluginManageController = pluginManageController;
23+
}
24+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.xwintop.xJavaFxTool.view.index;
2+
3+
import javafx.fxml.FXML;
4+
import javafx.fxml.Initializable;
5+
import javafx.scene.control.Button;
6+
import javafx.scene.control.TableColumn;
7+
import javafx.scene.control.TableView;
8+
import javafx.scene.control.TextField;
9+
import lombok.Getter;
10+
import lombok.Setter;
11+
12+
import java.util.Map;
13+
14+
/**
15+
* @ClassName: PluginManageView
16+
* @Description: 插件管理
17+
* @author: xufeng
18+
* @date: 2020/1/19 17:41
19+
*/
20+
21+
@Getter
22+
@Setter
23+
public abstract class PluginManageView implements Initializable {
24+
@FXML
25+
protected TextField selectPluginTextField;
26+
@FXML
27+
protected Button selectPluginButton;
28+
@FXML
29+
protected TableView<Map<String,String>> pluginDataTableView;
30+
@FXML
31+
protected TableColumn<Map<String,String>,String> nameTableColumn;
32+
@FXML
33+
protected TableColumn<Map<String,String>,String> synopsisTableColumn;
34+
@FXML
35+
protected TableColumn<Map<String,String>,String> versionTableColumn;
36+
@FXML
37+
protected TableColumn<Map<String,String>,String> isDownloadTableColumn;
38+
@FXML
39+
protected TableColumn<Map<String,String>,String> isEnableTableColumn;
40+
@FXML
41+
protected TableColumn<Map<String,String>,String> downloadTableColumn;
42+
43+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<?import javafx.geometry.Insets?>
4+
<?import javafx.scene.control.Button?>
5+
<?import javafx.scene.control.Label?>
6+
<?import javafx.scene.control.TableColumn?>
7+
<?import javafx.scene.control.TableView?>
8+
<?import javafx.scene.control.TextField?>
9+
<?import javafx.scene.layout.AnchorPane?>
10+
<?import javafx.scene.layout.BorderPane?>
11+
<?import javafx.scene.layout.HBox?>
12+
13+
14+
<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.xwintop.xJavaFxTool.controller.index.PluginManageController">
15+
<children>
16+
<BorderPane layoutX="127.0" layoutY="44.0" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="10.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="10.0">
17+
<top>
18+
<HBox alignment="CENTER_LEFT" spacing="5.0" BorderPane.alignment="CENTER">
19+
<children>
20+
<Label text="插件名:" />
21+
<TextField fx:id="selectPluginTextField" promptText="输入插件相关内容" />
22+
<Button fx:id="selectPluginButton" mnemonicParsing="false" onAction="#selectPluginAction" text="查找" />
23+
</children>
24+
<padding>
25+
<Insets bottom="10.0" />
26+
</padding>
27+
</HBox>
28+
</top>
29+
<center>
30+
<TableView fx:id="pluginDataTableView" prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
31+
<columns>
32+
<TableColumn fx:id="nameTableColumn" prefWidth="75.0" text="名称" />
33+
<TableColumn fx:id="synopsisTableColumn" prefWidth="75.0" text="简介" />
34+
<TableColumn fx:id="versionTableColumn" prefWidth="75.0" text="版本" />
35+
<TableColumn fx:id="isDownloadTableColumn" prefWidth="75.0" text="是否下载" />
36+
<TableColumn fx:id="isEnableTableColumn" prefWidth="75.0" text="是否启用" />
37+
<TableColumn fx:id="downloadTableColumn" prefWidth="75.0" text="下载" />
38+
</columns>
39+
<columnResizePolicy>
40+
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
41+
</columnResizePolicy>
42+
</TableView>
43+
</center>
44+
</BorderPane>
45+
</children>
46+
</AnchorPane>

0 commit comments

Comments
 (0)