<AI>
scenebuilder-kit-26.0.0.jar+の使い方
Maven の場合 (pom.xml)
xml
<dependency>
<groupId>com.gluonhq</groupId>
<artifactId>scenebuilder-kit</artifactId>
<version>26.0.0</version>
</dependency>
Gradle の場合 (build.gradle)
groovy
implementation 'com.gluonhq:scenebuilder-kit:26.0.0'
3. プログラムからの呼び出し例(組み込み方法)scenebuilder-kit を導入すると、Javaのコード上で Scene Builder の各パネル(コンポーネントを配置する領域や、プロパティを変更する領域)をJavaFXの Node として取得し、自分のアプリのレイアウトに自由に配置できるようになります。javaimport com.oracle.javafx.scenebuilder.kit.editor.EditorController;
import com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import com.oracle.javafx.scenebuilder.kit.editor.panel.library.LibraryPanelController;
import com.oracle.javafx.scenebuilder.kit.editor.panel.hierarchy.HierarchyPanelController;
import com.oracle.javafx.scenebuilder.kit.editor.panel.content.ContentPanelController;
import com.oracle.javafx.scenebuilder.kit.editor.panel.inspector.InspectorPanelController;
import javafx.stage.Stage;
public class MyCustomDesigner extends Application {
@Override
public void start(Stage primaryStage) {
// 1. Scene Builder のコアとなるエディタコントローラを生成
EditorController editorController = new EditorController();
// 2. 各種デザインパネル(部品一覧、レイアウト画面、プロパティ等)を生成
LibraryPanelController libraryPanel = new LibraryPanelController(editorController);
ContentPanelController contentPanel = new ContentPanelController(editorController);
HierarchyPanelController hierarchyPanel = new HierarchyPanelController(editorController);
InspectorPanelController inspectorPanel = new InspectorPanelController(editorController);
// 3. 自作アプリのレイアウト(例: BorderPane)にScene Builderのパーツを埋め込む
BorderPane root = new BorderPane();
root.setLeft(libraryPanel.getPanelRoot()); // 左側にコンポーネントパレット
root.setCenter(contentPanel.getPanelRoot()); // 中央にメインのデザイン画面
root.setRight(inspectorPanel.getPanelRoot()); // 右側にプロパティインスペクター
// 4. 表示
Scene scene = new Scene(root, 1200, 800);
primaryStage.setScene(scene);
primaryStage.setTitle("カスタムFXMLエディタ");
primaryStage.show();
}
}