/ /リソース付きのカスタムコンポーネントをSceneBuilderにインポートする方法 - javafx、シーンビルダー

リソースを持つカスタムコンポーネントをSceneBuilderにインポートするには? - javafx、scenebuilder

既存のものをサブクラス化することによって、私は自分のプロジェクト用にたくさんのカスタムノードを作成しました。

例えば:

package sample;

import javafx.scene.control.Button;

public class MyCustomButton extends Button {
public MyCustomButton() {
System.out.println("This is my custom button...");
}
}

これはうまくいきます、私はjarファイルを作成し、Scenebuilderにインポートすることができます。

ただし、カスタムノードがリソースを使用していて、そのjarファイルをScenebuilderにインポートしようとすると、カスタムコンポーネントがインポートダイアログに表示されません。

package sample;

import javafx.scene.control.Button;
import javafx.scene.image.Image;

public class MyCustomButton extends Button {
public MyCustomButton() {
Image image = new Image("sample/picture.gif");
System.out.println("This is my custom button...");
}
}

Scenebuilderにインポートするよう説得するにはどうすればよいですか。カスタムコンポーネントにリソースが含まれている場合jarファイルには、必要なリソースがすべて揃っており、コンポーネントがコード内で問題なく機能していますが、Scenebuilderでも使用できるようにしたいと思います。

回答:

回答№1は2

私はあなたのためにしました:)

import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;

public class MyCustomButton extends Button {
public MyCustomButton() {
final ImageView   imageView = new ImageView();

Image image = new Image(getClass().getClassLoader().getResource("sample/picture.png").toExternalForm());

imageView.setImage(image);
this.setGraphic(imageView);
System.out.println("This is my custom button...");

}
}

回答№2の場合は0

SBの分析報告書を確認してください。 Libraryの右側にある設定アイコンをクリックしてから、 "Custom Library Folder" - > "Show Jar Analysis Report"を選択してください。あなたはいくつかの役に立つヒントを見ることができます。多分これはあなたを助けます。