!8 fix: #I7UE5B 修复新建文件后自动保存失效的问题

Merge pull request !8 from songdragon/fix-I7UE5B
This commit is contained in:
Luke 2023-08-19 06:35:36 +00:00 committed by Gitee
commit 020ee7008e
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 22 additions and 12 deletions

View File

@ -23,9 +23,8 @@ public class LunchApp extends Application {
private static final ExecutorService threadPool = Executors.newCachedThreadPool();
public static boolean isRelevance = true;
Controller controller = Controller.getInstance();
Scene scene;
Controller controller = new Controller();
View view;
@Override

View File

@ -7,8 +7,6 @@ import org.jcnc.jnotepad.ui.LineNumberTextArea;
import org.jcnc.jnotepad.controller.manager.Controller;
import org.jcnc.jnotepad.view.manager.ViewManager;
import java.util.Objects;
import static org.jcnc.jnotepad.view.manager.ViewManager.tabPane;
/**
@ -25,7 +23,7 @@ public class NewFile implements EventHandler<ActionEvent> {
@Override
public void handle(ActionEvent event) {
// 获取控制器
Controller controller = new Controller();
Controller controller = Controller.getInstance();
LineNumberTextArea lineNumberTextArea = new LineNumberTextArea();
@ -38,6 +36,9 @@ public class NewFile implements EventHandler<ActionEvent> {
"-fx-border-color:white ;-fx-background-color:white;"
);
//TODO: refactor统一TextArea新建绑定监听器入口
// 增加autoSave监听器绑定
controller.autoSave(textArea);
// 创建一个新的Tab页
Tab tab = new Tab("新建文本 " + ++ViewManager.tabIndex);

View File

@ -26,7 +26,7 @@ public class OpenFile implements EventHandler<ActionEvent> {
@Override
public void handle(ActionEvent event) {
// 获取控制器
Controller controller = new Controller();
Controller controller = Controller.getInstance();
// 创建文件选择器
FileChooser fileChooser = new FileChooser();
// 显示文件选择对话框并获取选中的文件

View File

@ -25,6 +25,16 @@ import java.util.List;
*/
public class Controller implements ControllerInterface {
private static final Controller INSTANCE = new Controller();
private Controller() {
}
public static Controller getInstance() {
return INSTANCE;
}
/**
* 打开关联文件并创建文本区域
*
@ -270,7 +280,7 @@ public class Controller implements ControllerInterface {
LineNumberTextArea textArea = new LineNumberTextArea();
textArea.setStyle(
"-fx-border-color:white;" +
"-fx-background-color:white"
"-fx-background-color:white"
);
return textArea;
}

View File

@ -17,17 +17,17 @@ public class View {
public void initItem() {
// 初始化菜单项的事件处理器
EventHandler<ActionEvent> newFileEventHandler = new Controller().getNewFileEventHandler(new LineNumberTextArea());
EventHandler<ActionEvent> newFileEventHandler = Controller.getInstance().getNewFileEventHandler(new LineNumberTextArea());
newItem.setOnAction(newFileEventHandler);
EventHandler<ActionEvent> openFileEventHandler = new Controller().getOpenFileEventHandler();
EventHandler<ActionEvent> openFileEventHandler = Controller.getInstance().getOpenFileEventHandler();
openItem.setOnAction(openFileEventHandler);
EventHandler<ActionEvent> saveAsFileEventHandler = new Controller().getSaveAsFileEventHandler();
EventHandler<ActionEvent> saveAsFileEventHandler = Controller.getInstance().getSaveAsFileEventHandler();
saveAsItem.setOnAction(saveAsFileEventHandler);
lineFeedItem.setOnAction(new Controller().getLineFeedEventHandler(new LineNumberTextArea()));
lineFeedItem.setOnAction(Controller.getInstance().getLineFeedEventHandler(new LineNumberTextArea()));
}
public void initTabPane() {
new Controller().initTabPane();
Controller.getInstance().initTabPane();
}
// 初始化快捷键