refactor: Controller使用sigleton,避免多次创建对象
This commit is contained in:
parent
c014a72ace
commit
b2676f861f
@ -23,7 +23,7 @@ public class LunchApp extends Application {
|
||||
private static final ExecutorService threadPool = Executors.newCachedThreadPool();
|
||||
public static boolean isRelevance = true;
|
||||
|
||||
Controller controller = new Controller();
|
||||
Controller controller = Controller.getInstance();
|
||||
|
||||
View view;
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ public class NewFile implements EventHandler<ActionEvent> {
|
||||
@Override
|
||||
public void handle(ActionEvent event) {
|
||||
// 获取控制器
|
||||
Controller controller = new Controller();
|
||||
Controller controller = Controller.getInstance();
|
||||
|
||||
// 创建一个新的文本编辑区
|
||||
TextArea textArea = new TextArea();
|
||||
|
||||
@ -25,7 +25,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();
|
||||
// 显示文件选择对话框,并获取选中的文件
|
||||
|
||||
@ -26,6 +26,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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开关联文件并创建文本区域。
|
||||
*
|
||||
@ -271,7 +281,7 @@ public class Controller implements ControllerInterface {
|
||||
TextArea textArea = new TextArea();
|
||||
textArea.setStyle(
|
||||
"-fx-border-color:white;" +
|
||||
"-fx-background-color:white"
|
||||
"-fx-background-color:white"
|
||||
);
|
||||
return textArea;
|
||||
}
|
||||
|
||||
@ -21,17 +21,17 @@ public class View {
|
||||
|
||||
public void initItem() {
|
||||
// 初始化菜单项的事件处理器
|
||||
EventHandler<ActionEvent> newFileEventHandler = new Controller().getNewFileEventHandler(new TextArea());
|
||||
EventHandler<ActionEvent> newFileEventHandler = Controller.getInstance().getNewFileEventHandler(new TextArea());
|
||||
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 TextArea()));
|
||||
lineFeedItem.setOnAction(Controller.getInstance().getLineFeedEventHandler(new TextArea()));
|
||||
}
|
||||
|
||||
public void initTabPane() {
|
||||
new Controller().initTabPane();
|
||||
Controller.getInstance().initTabPane();
|
||||
}
|
||||
|
||||
// 初始化快捷键
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user