カスタムコンポーネントの作成およびインポートでは、thisの後に来ます。ただし、jarファイルをクリックした後にインポートダイアログが表示された場合は表示されません。チュートリアルがコンストラクタに使用したコードをコメントアウトすると、再び表示されます。しかし、カスタムコンポーネントを作成するために使用したサブコンポーネントはまったく表示されません。どうして私はそれを修正するのですか?カスタムFXMLコンポーネント(コントローラー付き)は、SceneBuilderの「jarファイルのインポート」ダイアログに表示されません
また、自分自身のためにAnchorPaneの代わりにVBoxを使用しています(チュートリアルのように)。チュートリアルで見られるように、コンストラクタの
コード:
public CommodityImageLabel() {
FXMLLoader fxmlLoader = new FXMLLoader(
getClass().getResource("/fxml/CommodityImageLabel.fxml"));
fxmlLoader.setRoot(this);
fxmlLoader.setController(this);
try {
fxmlLoader.load();
} catch (IOException exception) {
throw new RuntimeException(exception);
}
}
コード私自身の例のコンストラクタについて:
public While() {
FXMLLoader fxmlLoader = new FXMLLoader(
getClass().getResource("BlocksFXML/While.fxml"));
fxmlLoader.setRoot(this);
fxmlLoader.setController(this);
try {
fxmlLoader.load();
} catch (IOException exception) {
throw new RuntimeException(exception);
}
}
EDIT1:私はコードの部分をコメントアウトしようとした、と私はコメントアウトしたときtry-catch部分では、コンポーネントがダイアログに表示されますが、サブコンポーネントは表示されません。
編集2:カスタムコンポーネントは基本的に、LabelとTextFieldを持つHboxを含むVBoxです。 Hereは、try-catch部分がなくても正常にインポートされたときのように見えるものと思われるものです。
することができます[編集]が表示されないコードの例を含むようにあなたの質問? –
@ James_D FXMLが完成したので、何を意味するのかは分かりませんが、コンポーネントをSceneBuilderにインポートするときのように表示されません。彼らが役に立つなら、私は写真を含めた。 – choochoomattress
多分私は誤解しました。チュートリアルのバージョンが動作しないと言っていますか?あなた自身の例だけがうまくいかないと思った。どのシーンビルダのバージョンを使用していますか? –