VSCode + JavaFX + SceneBuilder
操作方法(動画)
えーっと今回はVSCode + JavaFX + SceneBuilderの環境を作ってみました。
いつものように、未完成(適当)ですが、とりあえず動くようですw
ん?なぜVSCode + JavaFX + SceneBuilderなのかって?
それは・・・出来そうな気がしたからw
環境構築方法
実は、忘れちゃったので思い出しながら頑張ってみます。
・Javaの環境は下記で簡単にインストールしました
devblogs.microsoft.com
・JavaFXは下記からダウンロード&適当な場所に解凍
openjfx.io
・SceneBuilderは下記よりダウンロード&インストール
gluonhq.com
・後はVSCodeのJava拡張機能を少しいじってます(テンプレート)
場所:C:/Users/ユーザー名/.vscode/extensions/vscjava.vscode-java-dependency-0.9.0/templates/Java11
変更するファイル:.classpath
追加するファイル:.vscode/launch.json
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/> <classpathentry kind="src" path="src"/> <classpathentry kind="output" path="bin"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx.base.jar"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx.controls.jar"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx.fxml.jar"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx.graphics.jar"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx.media.jar"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx.swing.jar"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx.web.jar"/> <classpathentry kind="lib" path="D:/0000_APPS/0000_SourceCode/Java/0000_lib/javafx-sdk-11.0.2/lib/javafx-swt.jar"/> </classpath>
launch.json
{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "java", "name": "Debug (Launch) - Current File", "request": "launch", "vmArgs": "--module-path D:\\0000_APPS\\0000_SourceCode\\Java\\0000_lib\\javafx-sdk-11.0.2\\lib --add-modules javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web", "mainClass": "${file}" } ] }
danpapaの環境ではこんな感じです。各自の環境に合わせてください。
多分、これだけだったと思い・・・ます。自信はありませんw
あ、勿論、これが正しい方法なのかは、わかりません!(これは自信ありますw)
おっと、忘れ物。
追記
・変更するファイル:../App.java.sample
App.java.sample
package app; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; public class App extends Application { @Override public void start(Stage primaryStage) { try { FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("mainframe.fxml")); Parent root = (Parent) fxmlLoader.load(); Scene scene = new Scene(root); primaryStage.setTitle("test-Window"); primaryStage.setScene(scene); primaryStage.show(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } }