問題タブ [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.
javafx - ControllerクラスのMainクラスからStackpaneを取得するには?
シーン ビルダーに慣れるために、シーン ビルダーを使用してスタックペインのノードとして折れ線グラフと 2 つの数値軸を追加しました。親ノードは mainApp.java にロードされます。
さて、さらなる操作のために、FXMLDocument.fxmlで親のスタックペインを取得したいのですが、方法がわかりません...
例えば
StackPane コンテナ = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml") など。
コントローラー パスでルート ノードまたはスタックペインを取得するにはどうすればよいですか?
javafx - @FXML はすべての宣言に必要ですか?
@FXML はすべての宣言に必要ですか、それとも最初の宣言だけですか?
つまり、使用する必要があります
または
ありがとうございました!
javafx - ユーザー定義クラスに FXMLLoader ファクトリ メソッドを使用できますか?
「Pro JavaFX 8: デスクトップ、モバイル、および組み込み Java クライアントを構築する決定的なガイド」の第 3 章では、FXML ファイルでオブジェクトを直接指定する方法を例で示しています。
完全な FXML ファイルは、この投稿の最後に、例の他のファイルと共に記載されています。
これが私が取っているスニペットです。このsizes
フィールドはfx:factory
属性を使用して、ファクトリ メソッド Utilities.createList() を使用して整数のリストを作成する必要があることを示します。このリストには、3 つの整数が入力されます。
Utilities.java は次のとおりです。
私の質問は、これらのファクトリ メソッドの使用に関係する一般的なメカニズムは何ですか?
メソッドを使用して作成されたオブジェクトに 3 つの整数を追加する必要があることを FXMLLoader がどのように認識しているかを理解したいと思いますadd
。当然、それはおそらくについて何らかの形で知っているに違いありませんが、その知識はどこに指定されているのでしょうか。FXMLLoaderに組み込まれていますか? もしそうなら、そのようなファクトリメソッドをユーザー定義クラスにどのように提供できますか?List
Collection
実際にユーザー定義クラスで使ってみました。次のスニペットを Utilities.java に追加しました。これにより、MyCollection
単一のメソッドを持ち、メソッドadd(Integer)
を定義するクラスが作成されますUtilities.createMyCollection
。
ただし、FXML ファイルで createMyCollection を置換すると、「MyCollections にはデフォルト プロパティがありません。MyCollection コンテンツをプロパティ要素に配置してください。」というメッセージが表示されました。
これは、ユーザー定義クラスのデフォルト プロパティをどのように宣言できるのか、またどのようにList
既に持っているのか疑問に思います。
すべてのファイルは次のとおりです (上記の Utilities.java を除く)。
FXMLBasicFeatures.fxml:
FXMLBasicFeaturesBean.java:
FXMLBasicFeaturesMain.java:
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 にアクセスして更新する方法がわかりません。
javafx - JavaFX の別のクラスからラベルのテキストを変更する
この質問はすでにここで尋ねられましたが、答えを見つけることができませんでした。コントローラーを使用して別のクラスからラベルのテキストを変更したい同様の状況を再現しました
FXMLDocumentController.java
FXMLDocument.fxml
Demo5.java
コネクタ.java
コンソールでの出力
しかし、ラベルに変化は見られませんでした。ここで大きな何かが欠けていますか?
java - NullPointerException javafxアプレットからfxmlファイルをロード中
IntelliJ Idea を使用して、javafx アプレットを作成しようとしています。ビルド後、.jar、.jnlp、および .html の 3 つのファイルが得られます。jar を起動するとすべて正常に動作しますが、jnlp または html を使用してアプリを実行しようとすると、例外がスローされます。
なぜそうなのですか?Jar には、指定されたパスにある必要な fxml が正確に含まれています。
ジャワ:
FXML:
私は何を間違っていますか?助けてください。