問題タブ [fxmlloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
914 参照

javafx - ControllerクラスのMainクラスからStackpaneを取得するには?

シーン ビルダーに慣れるために、シーン ビルダーを使用してスタックペインのノードとして折れ線グラフと 2 つの数値軸を追加しました。親ノードは mainApp.java にロードされます。

さて、さらなる操作のために、FXMLDocument.fxmlで親のスタックペインを取得したいのですが、方法がわかりません...

例えば

StackPane コンテナ = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml") など。

コントローラー パスでルート ノードまたはスタックペインを取得するにはどうすればよいですか?

0 投票する
3 に答える
21470 参照

javafx - @FXML はすべての宣言に必要ですか?

@FXML はすべての宣言に必要ですか、それとも最初の宣言だけですか?

つまり、使用する必要があります

または

ありがとうございました!

0 投票する
1 に答える
1245 参照

javafx - ユーザー定義クラスに FXMLLoader ファクトリ メソッドを使用できますか?

「Pro JavaFX 8: デスクトップ、モバイル、および組み込み Java クライアントを構築する決定的なガイド」の第 3 章では、FXML ファイルでオブジェクトを直接指定する方法を例で示しています。

完全な FXML ファイルは、この投稿の最後に、例の他のファイルと共に記載されています。

これが私が取っているスニペットです。このsizesフィールドはfx:factory属性を使用して、ファクトリ メソッド Utilities.createList() を使用して整数のリストを作成する必要があることを示します。このリストには、3 つの整数が入力されます。

Utilities.java は次のとおりです。

私の質問は、これらのファクトリ メソッドの使用に関係する一般的なメカニズムは何ですか?

メソッドを使用して作成されたオブジェクトに 3 つの整数を追加する必要があることを FXMLLoader がどのように認識しているかを理解したいと思いますadd。当然、それはおそらくについて何らかの形で知っているに違いありませんが、その知識はどこに指定されているのでしょうか。FXMLLoaderに組み込まれていますか? もしそうなら、そのようなファクトリメソッドをユーザー定義クラスにどのように提供できますか?ListCollection

実際にユーザー定義クラスで使ってみました。次のスニペットを Utilities.java に追加しました。これにより、MyCollection単一のメソッドを持ち、メソッドadd(Integer)を定義するクラスが作成されますUtilities.createMyCollection

ただし、FXML ファイルで createMyCollection を置換すると、「MyCollections にはデフォルト プロパティがありません。MyCollection コンテンツをプロパティ要素に配置してください。」というメッセージが表示されました。

これは、ユーザー定義クラスのデフォルト プロパティをどのように宣言できるのか、またどのようにList既に持っているのか疑問に思います。

すべてのファイルは次のとおりです (上記の Utilities.java を除く)。

FXMLBasicFeatures.fxml:

FXMLBasicFeaturesBean.java:

FXMLBasicFeaturesMain.java:

0 投票する
1 に答える
443 参照

webview - JavaFX で 1 つの WebView を別の WebView から変更する

現在、アンカー ペイン内に埋め込まれた水平 SplitPane 内に 2 つの WebView (leftWebView と rightWebView など) があります。各 WebView には JavaScript があります (異なる色の長方形を作成します)。今私がやりたいことは、1 つの四角形をクリックすると、他の WebView を変更したいということです。この質問をする簡単な方法は、rightWebView を変更して leftWebView を呼び出す方法です。

私のアプリケーションの UI は次のようになります:サンプル アプリケーション

以下は、FXML、コントローラー、および Java ファイルです。

LeftWebView と RightWebView クラスは、javascript の変更を除いて似ています。

クラス Bridge (Bridge.clickLeft()) のメソッドの 1 つを Javascript でコールバックできますが、他の WebView にアクセスして更新する方法がわかりません。

0 投票する
3 に答える
12033 参照

javafx - JavaFX の別のクラスからラベルのテキストを変更する

この質問はすでにここで尋ねられましたが、答えを見つけることができませんでした。コントローラーを使用して別のクラスからラベルのテキストを変更したい同様の状況を再現しました

FXMLDocumentController.java

FXMLDocument.fxml

Demo5.java

コネクタ.java

コンソールでの出力

しかし、ラベルに変化は見られませんでした。ここで大きな何かが欠けていますか?

0 投票する
2 に答える
2280 参照

java - NullPointerException javafxアプレットからfxmlファイルをロード中

IntelliJ Idea を使用して、javafx アプレットを作成しようとしています。ビルド後、.jar、.jnlp、および .html の 3 つのファイルが得られます。jar を起動するとすべて正常に動作しますが、jnlp または html を使用してアプリを実行しようとすると、例外がスローされます。

なぜそうなのですか?Jar には、指定されたパスにある必要な fxml が正確に含まれています。

ジャワ:

FXML:

私は何を間違っていますか?助けてください。