# MonacoFX **Repository Path**: mirrors_miho/MonacoFX ## Basic Information - **Project Name**: MonacoFX - **Description**: JavaFX editor node based on the powerful Monaco editor that drives VS Code - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-10-22 - **Last Updated**: 2025-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MonacoFX [ ![Download](https://api.bintray.com/packages/miho/MonacoFX/MonacoFX/images/download.svg) ](https://bintray.com/miho/MonacoFX/MonacoFX/_latestVersion) JavaFX editor node based on the powerful [Monaco](https://microsoft.github.io/monaco-editor/) editor that drives [VS Code](https://github.com/Microsoft/vscode) ## Using MonacoFX Using MonacoFX is straightforward. Just create a MonacoFX node and add it to the scene graph. Here's a an example on how to use MonacoFX with syntax highlighting and code folding for an existing language: ```java public class App extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { // create a new monaco editor node MonacoFX monacoFX = new MonacoFX(); StackPane root = new StackPane(monacoFX); // set initial text monacoFX.getEditor().getDocument().setText( "#include \n" + "int main() {\n" + " // printf() displays the string inside quotation\n" + " printf(\"Hello, World!\");\n" + " return 0;\n" + "}"); // use a predefined language like 'c' monacoFX.getEditor().setCurrentLanguage("c"); monacoFX.getEditor().setCurrentTheme("vs-dark"); // the usual scene & stage setup Scene scene = new Scene(root, 800,600); primaryStage.setTitle("MonacoFX Demo (running on JDK " + System.getProperty("java.version") + ")"); primaryStage.setScene(scene); primaryStage.show(); } } ``` Visit the [MonacoFX tutorial projects](https://github.com/miho/MonacoFX-Tutorials) and learn more about advanced topics, such as adding custom language support and code folding. ## How To Build The Project ### 1. Dependencies - JDK >= 11 (tested with JDK 13) - Internet Connection (other dependencies will be downloaded automatically) - Optional: IDE with [Gradle](http://www.gradle.org/) support ### 2. Building #### IDE To build the project from an IDE do the following: - open the [Gradle](http://www.gradle.org/) project - call the `assemble` Gradle task to build the project #### Command Line Building the project from the command line is also possible. Navigate to the project folder and call the `assemble` [Gradle](http://www.gradle.org/) task to build the project. ##### Bash (Linux/OS X/Cygwin/other Unix-like OS) cd Path/To/MonacoFX ./gradlew assemble ##### Windows (CMD) cd Path\To\MonacoFX gradlew assemble ### 3. Running the sample App #### IDE To run the project from an IDE do the following: - open the [Gradle](http://www.gradle.org/) project - call the `run` Gradle task to run the project #### Command Line Running the project from the command line is also possible. Navigate to the project folder and call the `run` [Gradle](http://www.gradle.org/) task to run the project. ##### Bash (Linux/OS X/Cygwin/other Unix-like OS) cd Path/To/MonacoFX ./gradlew run ##### Windows (CMD) cd Path\To\MonacoFX gradlew run