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

View File

@ -97,11 +97,11 @@ public class EditorListImplController {
if (swingEditor != null) {
flag = true;
}
load_them_edit();
swingEditor(flag);
}
public enum Type {
JAVA, HTML, GO, JS, CSS, SQL, XML, YML, MARKDOWN
}
@ -401,19 +401,36 @@ public class EditorListImplController {
tabPane = new TabPane();
//添加菜单
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);
}
//加载菜单
// 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);
// }
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());
}
public void load_them_edit(){
them_list.getItems().clear();
if (editer_index.getValue()==null || editer_index.getValue() == 0){
ListView<String> listView = new ListView<>();
@ -489,44 +506,7 @@ public class EditorListImplController {
Stage primaryStage = (Stage) EditorListImplController.this.splitPane.getScene().getWindow();
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;
}
RxEditer rx = new RxEditer(style);
rx.setTheme("idea");
rx.setText(file_content);
tab.setContent(rx);
}
@ -1188,6 +1169,7 @@ public class EditorListImplController {
if (acJsEditor != null) {
flag = true;
}
load_them_edit();
acJsEditor(flag);
}