2023年11月18日18:13:00
parent
8b426d1920
commit
e9628655c5
|
|
@ -55,37 +55,33 @@ public class RxEditer extends AnchorPane{
|
|||
public RxEditer(String style) {
|
||||
SwingNode sn = new SwingNode();
|
||||
new Thread(()->{
|
||||
try {
|
||||
SwingUtilities.invokeAndWait(() -> {
|
||||
textArea.setEditable(true);//编辑器
|
||||
if (style == null || style.equals("")) {
|
||||
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);//java
|
||||
}else {
|
||||
textArea.setSyntaxEditingStyle(style);
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
textArea.setEditable(true);//编辑器
|
||||
if (style == null || style.equals("")) {
|
||||
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);//java
|
||||
}else {
|
||||
textArea.setSyntaxEditingStyle(style);
|
||||
}
|
||||
textArea.setCodeFoldingEnabled(true);//折叠代码
|
||||
textArea.addCaretListener(e -> {
|
||||
JTextArea editArea = (JTextArea) e.getSource();
|
||||
int linenum = 1;
|
||||
int columnnum = 1;
|
||||
try {
|
||||
int caretpos = editArea.getCaretPosition();
|
||||
linenum = editArea.getLineOfOffset(caretpos);
|
||||
columnnum = caretpos - editArea.getLineStartOffset(linenum);
|
||||
linenum += 1;
|
||||
columnnum += 1;
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
textArea.setCodeFoldingEnabled(true);//折叠代码
|
||||
textArea.addCaretListener(e -> {
|
||||
JTextArea editArea = (JTextArea) e.getSource();
|
||||
int linenum = 1;
|
||||
int columnnum = 1;
|
||||
try {
|
||||
int caretpos = editArea.getCaretPosition();
|
||||
linenum = editArea.getLineOfOffset(caretpos);
|
||||
columnnum = caretpos - editArea.getLineStartOffset(linenum);
|
||||
linenum += 1;
|
||||
columnnum += 1;
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
line.setValue(linenum);
|
||||
column.setValue(columnnum);
|
||||
});
|
||||
RTextScrollPane sp = new RTextScrollPane(textArea);
|
||||
sn.setContent(sp);
|
||||
line.setValue(linenum);
|
||||
column.setValue(columnnum);
|
||||
});
|
||||
} catch (InterruptedException | InvocationTargetException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
RTextScrollPane sp = new RTextScrollPane(textArea);
|
||||
sn.setContent(sp);
|
||||
});
|
||||
}).start();
|
||||
getChildren().add(sn);
|
||||
setTopAnchor(sn, 0.0);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue