2023年11月18日18:13:00

master
zhangmeng 2023-11-18 18:13:09 +08:00
parent 8b426d1920
commit e9628655c5
2 changed files with 56 additions and 78 deletions

View File

@ -55,8 +55,7 @@ public class RxEditer extends AnchorPane{
public RxEditer(String style) { public RxEditer(String style) {
SwingNode sn = new SwingNode(); SwingNode sn = new SwingNode();
new Thread(()->{ new Thread(()->{
try { SwingUtilities.invokeLater(() -> {
SwingUtilities.invokeAndWait(() -> {
textArea.setEditable(true);//编辑器 textArea.setEditable(true);//编辑器
if (style == null || style.equals("")) { if (style == null || style.equals("")) {
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);//java textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);//java
@ -83,9 +82,6 @@ public class RxEditer extends AnchorPane{
RTextScrollPane sp = new RTextScrollPane(textArea); RTextScrollPane sp = new RTextScrollPane(textArea);
sn.setContent(sp); sn.setContent(sp);
}); });
} catch (InterruptedException | InvocationTargetException e) {
throw new RuntimeException(e);
}
}).start(); }).start();
getChildren().add(sn); getChildren().add(sn);
setTopAnchor(sn, 0.0); setTopAnchor(sn, 0.0);

View File

@ -97,11 +97,11 @@ public class EditorListImplController {
if (swingEditor != null) { if (swingEditor != null) {
flag = true; flag = true;
} }
load_them_edit();
swingEditor(flag); swingEditor(flag);
} }
public enum Type { public enum Type {
JAVA, HTML, GO, JS, CSS, SQL, XML, YML, MARKDOWN JAVA, HTML, GO, JS, CSS, SQL, XML, YML, MARKDOWN
} }
@ -401,19 +401,36 @@ public class EditorListImplController {
tabPane = new TabPane(); tabPane = new TabPane();
//添加菜单 //添加菜单
addMenu(); addMenu();
load_them_edit();
File file = null;
FileTreeView fileTreeView = new FileTreeView(file);
fileTreeView.setBorder(BORDER_EXLEFT);
splitPane.getItems().clear();
splitPane.getItems().add(0, fileTreeView);
splitPane.getItems().add(1, tabPane);
splitPane.setDividerPosition(0, 0.20);
splitPane.setDividerPosition(1, 0.80);
}
//加载菜单 public void addMenu() {
// for (AceTheme value : AceTheme.values()) {
// String them_string = value.toString();
// MenuItem menuItem = new MenuItem(them_string);
// menuItem.setOnAction(event -> {
// AceEditor aceEditor = (AceEditor) tabPane.getSelectionModel().getSelectedItem().getContent();
// MenuItem source = (MenuItem) event.getSource();
// aceEditor.setAceTheme(AceTheme.valueOf(source.getText()));
// });
// them_list.getItems().add(menuItem);
// }
// 设置快捷键
save.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCodeCombination.CONTROL_DOWN));
save.setOnAction(event -> writer_file());
open_file.setAccelerator(new KeyCodeCombination(KeyCode.F, KeyCodeCombination.CONTROL_DOWN));
open_file.setOnAction(event -> open_file());
open_dir.setAccelerator(new KeyCodeCombination(KeyCode.D, KeyCodeCombination.CONTROL_DOWN));
open_dir.setOnAction(event -> open_file_dir());
new_file.setAccelerator(new KeyCodeCombination(KeyCode.N, KeyCodeCombination.CONTROL_DOWN));
new_file.setOnAction(event -> new_file());
}
public void load_them_edit(){
them_list.getItems().clear();
if (editer_index.getValue()==null || editer_index.getValue() == 0){ if (editer_index.getValue()==null || editer_index.getValue() == 0){
ListView<String> listView = new ListView<>(); ListView<String> listView = new ListView<>();
@ -489,44 +506,7 @@ public class EditorListImplController {
Stage primaryStage = (Stage) EditorListImplController.this.splitPane.getScene().getWindow(); Stage primaryStage = (Stage) EditorListImplController.this.splitPane.getScene().getWindow();
AlertUtils.alert("设置", them_choose,200,400, primaryStage); AlertUtils.alert("设置", them_choose,200,400, primaryStage);
}); });
// SwingNode swingNode = new SwingNode();
// try {
// SwingUtilities.invokeAndWait(()->{
// JFontDialog jFontDialog = new JFontDialog();
// swingNode.setContent(jFontDialog);
// });
// } catch (InterruptedException | InvocationTargetException e) {
// throw new RuntimeException(e);
// }
} }
File file = null;
FileTreeView fileTreeView = new FileTreeView(file);
fileTreeView.setBorder(BORDER_EXLEFT);
splitPane.getItems().clear();
splitPane.getItems().add(0, fileTreeView);
splitPane.getItems().add(1, tabPane);
splitPane.setDividerPosition(0, 0.20);
splitPane.setDividerPosition(1, 0.80);
}
public void addMenu() {
// 设置快捷键
save.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCodeCombination.CONTROL_DOWN));
save.setOnAction(event -> writer_file());
open_file.setAccelerator(new KeyCodeCombination(KeyCode.F, KeyCodeCombination.CONTROL_DOWN));
open_file.setOnAction(event -> open_file());
open_dir.setAccelerator(new KeyCodeCombination(KeyCode.D, KeyCodeCombination.CONTROL_DOWN));
open_dir.setOnAction(event -> open_file_dir());
new_file.setAccelerator(new KeyCodeCombination(KeyCode.N, KeyCodeCombination.CONTROL_DOWN));
new_file.setOnAction(event -> new_file());
} }
// //
@ -854,6 +834,7 @@ public class EditorListImplController {
case MARKDOWN -> style = SyntaxConstants.SYNTAX_STYLE_MARKDOWN; case MARKDOWN -> style = SyntaxConstants.SYNTAX_STYLE_MARKDOWN;
} }
RxEditer rx = new RxEditer(style); RxEditer rx = new RxEditer(style);
rx.setTheme("idea");
rx.setText(file_content); rx.setText(file_content);
tab.setContent(rx); tab.setContent(rx);
} }
@ -1188,6 +1169,7 @@ public class EditorListImplController {
if (acJsEditor != null) { if (acJsEditor != null) {
flag = true; flag = true;
} }
load_them_edit();
acJsEditor(flag); acJsEditor(flag);
} }