删除静态调用

This commit is contained in:
许轲 2023-08-17 00:54:16 +08:00
parent 73b6bcf7fc
commit 18799d0c2f
6 changed files with 44 additions and 15 deletions

2
.idea/encodings.xml generated
View File

@ -4,6 +4,8 @@
<file url="file://$PROJECT_DIR$/11.txt" charset="GBK" /> <file url="file://$PROJECT_DIR$/11.txt" charset="GBK" />
<file url="file://$PROJECT_DIR$/aaa.txt" charset="GBK" /> <file url="file://$PROJECT_DIR$/aaa.txt" charset="GBK" />
<file url="file://$PROJECT_DIR$/init.bat" charset="US-ASCII" /> <file url="file://$PROJECT_DIR$/init.bat" charset="US-ASCII" />
<file url="file://$PROJECT_DIR$/spi/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/spi/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/新建文本.txt" charset="GBK" /> <file url="file://$PROJECT_DIR$/新建文本.txt" charset="GBK" />

7
.idea/misc.xml generated
View File

@ -1,11 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager"> <component name="MavenProjectsManager">
<option name="originalFiles"> <option name="originalFiles">
<list> <list>
<option value="$PROJECT_DIR$/pom.xml" /> <option value="$PROJECT_DIR$/pom.xml" />
<option value="$PROJECT_DIR$/spi/pom.xml" />
</list> </list>
</option> </option>
<option name="ignoredFiles">
<set>
<option value="$PROJECT_DIR$/spi/pom.xml" />
</set>
</option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="openjdk-17.0.2" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="openjdk-17.0.2" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />

View File

@ -8,7 +8,7 @@
<artifactId>JNotepad</artifactId> <artifactId>JNotepad</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<name>JNotepad</name> <name>JNotepad</name>
z
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>5.9.2</junit.version> <junit.version>5.9.2</junit.version>

View File

@ -11,6 +11,7 @@ import javafx.scene.layout.Pane;
import javafx.stage.Stage; import javafx.stage.Stage;
import org.jcnc.jnotepad.constants.Constants; import org.jcnc.jnotepad.constants.Constants;
import org.jcnc.jnotepad.controller.manager.Controller; import org.jcnc.jnotepad.controller.manager.Controller;
import org.jcnc.jnotepad.view.init.View;
import org.jcnc.jnotepad.view.manager.ViewManager; import org.jcnc.jnotepad.view.manager.ViewManager;
import java.util.List; import java.util.List;
@ -18,18 +19,19 @@ import java.util.Objects;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import static org.jcnc.jnotepad.view.init.View.initItem;
import static org.jcnc.jnotepad.view.init.View.initTabPane;
public class LunchApp extends Application { public class LunchApp extends Application {
private static final ExecutorService threadPool = Executors.newCachedThreadPool(); private static final ExecutorService threadPool = Executors.newCachedThreadPool();
public static boolean isRelevance = true; public static boolean isRelevance = true;
Controller controller = new Controller(); Controller controller = new Controller();
View view;
@Override @Override
public void start(Stage primaryStage) { public void start(Stage primaryStage) {
view =new View();
Pane root = new Pane(); Pane root = new Pane();
@ -53,8 +55,8 @@ public class LunchApp extends Application {
viewManager.initScreen(scene); viewManager.initScreen(scene);
// 初始化菜单项和标签栏 // 初始化菜单项和标签栏
initItem(); view.initItem();
initTabPane(); view.initTabPane();
if (isRelevance) { if (isRelevance) {
// 使用线程池加载关联文件并创建文本区域 // 使用线程池加载关联文件并创建文本区域

View File

@ -8,7 +8,8 @@ import static org.jcnc.jnotepad.view.manager.ViewManager.*;
public class View { public class View {
public static void initItem() {
public void initItem() {
// 初始化菜单项的事件处理器 // 初始化菜单项的事件处理器
newItem.setOnAction(new Controller().getNewFileEventHandler(new TextArea())); newItem.setOnAction(new Controller().getNewFileEventHandler(new TextArea()));
openItem.setOnAction(new Controller().getOpenFileEventHandler()); openItem.setOnAction(new Controller().getOpenFileEventHandler());
@ -17,7 +18,10 @@ public class View {
} }
public static void initTabPane() { public void initTabPane() {
new Controller().initTabPane(); new Controller().initTabPane();
} }
} }

View File

@ -19,10 +19,10 @@ public class ViewManager {
// 菜单栏组件 // 菜单栏组件
public static MenuBar menuBar; //菜单栏 public static MenuBar menuBar; //菜单栏
public static Menu fileMenu, setMenu; //文件菜单 public static Menu fileMenu, setMenu, pluginMenu; //文件菜单//设置菜单//插件菜单 菜单
public static MenuItem newItem, openItem, saveAsItem; //新建/打开/保存/保存至 菜单 public static MenuItem newItem, openItem, saveAsItem, addItem, coutItem; //新建/打开/保存/保存至//增加//查看 菜单按钮
public static CheckMenuItem lineFeedItem; public static CheckMenuItem lineFeedItem; //自动换行点击菜单按钮
// 主界面布局 // 主界面布局
public static BorderPane root; //主布局 public static BorderPane root; //主布局
@ -65,17 +65,31 @@ public class ViewManager {
public void initScreen(Scene scene) { public void initScreen(Scene scene) {
// 创建菜单栏并添加菜单项 // 创建菜单栏并添加菜单项
menuBar = new MenuBar(); menuBar = new MenuBar();
//文件菜单
fileMenu = new Menu("文件"); fileMenu = new Menu("文件");
setMenu = new Menu("设置");
newItem = new MenuItem("新建"); newItem = new MenuItem("新建");
openItem = new MenuItem("打开"); openItem = new MenuItem("打开");
saveAsItem = new MenuItem("另存为"); saveAsItem = new MenuItem("另存为");
fileMenu.getItems().addAll(newItem, openItem, saveAsItem);
//设置菜单
setMenu = new Menu("设置");
lineFeedItem = new CheckMenuItem("自动换行"); lineFeedItem = new CheckMenuItem("自动换行");
lineFeedItem.selectedProperty().set(true); lineFeedItem.selectedProperty().set(true);
fileMenu.getItems().addAll(newItem, openItem, saveAsItem);
setMenu.getItems().add(lineFeedItem);
menuBar.getMenus().addAll(fileMenu, setMenu); setMenu.getItems().addAll(lineFeedItem);
//插件菜单
pluginMenu = new Menu("插件");
addItem = new MenuItem("增加插件");
coutItem = new MenuItem("统计字数");
pluginMenu.getItems().addAll(addItem, coutItem);
//菜单栏
menuBar.getMenus().addAll(fileMenu, setMenu, pluginMenu);
// 创建主界面布局 // 创建主界面布局
root = new BorderPane(); root = new BorderPane();