diff --git a/app/build.gradle b/app/build.gradle index e375ce8..bacf7ae 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,6 +10,7 @@ repositories { } dependencies { + implementation 'org.fxmisc.richtext:richtextfx:0.6.10' compileOnly 'org.projectlombok:lombok:1.16.18' testCompileOnly 'org.projectlombok:lombok:1.16.18' testRuntime 'org.junit.platform:junit-platform-launcher:1.0.0-RC2' diff --git a/app/src/main/java/com/annimon/hotarufx/ui/controller/EditorController.java b/app/src/main/java/com/annimon/hotarufx/ui/controller/EditorController.java index 072fdc4..59ec044 100644 --- a/app/src/main/java/com/annimon/hotarufx/ui/controller/EditorController.java +++ b/app/src/main/java/com/annimon/hotarufx/ui/controller/EditorController.java @@ -19,16 +19,17 @@ import javafx.application.Platform; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; -import javafx.scene.Scene; import javafx.scene.control.TextArea; import javafx.scene.control.TitledPane; import javafx.stage.Stage; import lombok.val; +import org.fxmisc.richtext.CodeArea; +import org.fxmisc.richtext.LineNumberFactory; public class EditorController implements Initializable { @FXML - public TextArea editor; + public CodeArea editor; @FXML public TextArea log; @@ -78,7 +79,8 @@ public class EditorController implements Initializable { @Override public void initialize(URL location, ResourceBundle resources) { - editor.setText(readProgram("/main.hfx")); + editor.setParagraphGraphicFactory(LineNumberFactory.get(editor)); + editor.replaceText(0, 0, readProgram("/main.hfx")); } private static String readProgram(String path) { diff --git a/app/src/main/resources/fxml/Editor.fxml b/app/src/main/resources/fxml/Editor.fxml index de50b3c..8ced0ca 100644 --- a/app/src/main/resources/fxml/Editor.fxml +++ b/app/src/main/resources/fxml/Editor.fxml @@ -9,6 +9,7 @@ +
-