問題タブ [fxml]
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.
onchange - JavaFX 2はFXMLでonChangeリスナーを定義します
私はFXMLを独学するのに忙しいです。この例に従ってこれを行っています。
シンプルなテキストエディタです。ただし、チュートリアルではすべてが Java コードです。
私自身、ロジックのビューを分離するために FXML を使用しています。
私は現在、次の課題に直面しています。
FXML で TextArea を次のように定義しました。
通常、onAction="#actionName" を使用してアクション リスナーを追加します。
私が知りたいのは、テキストの変更に対して同様のことを行うにはどうすればよいかということです。そのため、保存が必要かどうかを検出したり、ステータス バーのラベルを変更したりできます。
コントローラーの init メソッドで変更リスナーに TextArea をアタッチする必要がないようにしたい (Initializable を実装する)。
また、この申請が完了したら、それについてブログを書きます。FXML のドキュメントが不足しているため、他の初心者にとっては役立つと思います。だから私は自分のコードをできるだけきれいにしたいと思っています。
編集1
まだ進歩はありません。FXML にコード補完などがあるかどうかを知る必要があるので、FXMl で使用できるプロパティの種類を確認できます。textLength プロパティが必要です。提供されたリンクでは、作成者は lengthProperty.addListener を使用しています。FXML equivilant が必要です
instance - JavaFX2 FXML要素(ボタンなど)を動的に追加する方法
したがって、私がやりたいのは、fxmlを使用してカスタム要素を作成し、その要素のいくつかのインスタンスをGridPaneなどのコンテナーに追加することです。@fxmlアノテーターを使用して要素にアクセスしたいので、「new」演算子は機能しません。クローン作成はいいのですが、うまくいきません。for()構造で使用して多くの要素を追加する場合、FXMLLoaderは非常に低速です。コントローラから呼び出すことができるfxml親ノードに参照を書き込むことができれば完璧です。
申し訳ありません...ここで疑似...
VBoxにTHEボタンを追加しても問題ありません。しかし、for-contruct(複数のボタンを追加するため)では失敗します。for構文でnew演算子を使用することもできますが、これが唯一の可能性であるかどうかを知りたいと思います。@FXMLアノテーターを使用してボタンを「取得」し、それを複製するなど、別の方法が必要だと思いました。
performance - JavaFX2-カスタムメイドの(fxml)パネルをグリッドペインに動的に追加すると、パフォーマンスが非常に低下します
問題 実行時にjavafxシーンビルダーを介して構築されたカスタムメイドのパネルをグリッドペインに追加したい。私のカスタムメイドのパネルには、ボタンやラベルなどがあります。
ペインから拡張しようとした私の試み...
...次に、このパネルをコントローラーの追加メソッドで使用します
動作しますが、パフォーマンスは非常に低くなります。
私が探しているの は、javafxシーンビルダーを介してパネルを設計し(その結果、このパネルをfxmlに含める)、インスタンスごとにこのfxmlloaderを使用せずに、実行時にグリッドペインに追加する方法があります。fxmlローダーが原因でパフォーマンスが低下すると思います。fxmlなどの標準ボタンを追加すると、非常に高速になります。
java - どの ChoiceBox イベントを選択するか?
JavaFX Scene Builder を使用して、fxml 内に ChoiceBox を配置しました。
FXML にはコントローラが割り当てられています。
私の質問は次のとおりです。変更された値について知りたい場合、どのイベントを登録する必要がありますか?
これは次のコードでは機能しません
これは最初のクリックでのみ機能します(つまり、アイテムを選択するときではなく、リストを開く):
タッチまたはキーボードが入力方法である状況のために、Mouse-Events は決して良い選択ではありませんが、それでも System.out に到達できることを証明しています。
私はそれらがどこに文書化されているのかまったくわかりません(デフォルトのJava-APIでは文書化されていません)
css - デフォルトのJavaFX-CSS
JavaFX要素に適用されたCSSルールを確認する方法はありますか? または、利用可能なデフォルトの CSS ルールを含む公開された参照がありますか?
たとえば、ツールバーの境界線の色を知りたいです。
nullpointerexception - JavaFX グローバル シーン変数が予期せず null に変更されました
小さなログイン ウィンドウとして開く javaFX 2 でアプリケーションを作成したいのですが、正しいデータを入力すると、大きなメイン ウィンドウが表示されます。どちらも fxml で設計されており、イベントは Java コード内で処理されます。
はい、わかっています。サンプルのアプリケーションとほぼ同じで、やりたいことを試してみたところ、そこで動作しました。
今、私のプロジェクトで同じことをしたとき、ステージの値を変更したいときに問題が発生しました。
以下のコードでわかるように、グローバル変数があり、start メソッドで primaryStage の値をそれに設定しています。試しにstartメソッドの最後に出力して値を設定してみました。
次に、ボタンがクリックされたときに使用しようとすると(メソッドbuttonClick)、ステージ変数の値がnullになるため、ウィンドウのサイズ変更などには使用できません。
私の質問は、2 つのプリント間で変更を何も使用していないにもかかわらず、ステージ変数の値がリセットされるのはなぜですか?
このコードは私が試したもののサンプルです。アプリケーションの動作を理解するのに重要ではないすべてのコードを切り取っただけです。
java - primaryStage の参照方法
アプリケーションのビューレイヤーに .fxml-Files を使用しています。各 fxml にはコントローラーがアタッチされています
メインフレームがあり、それがコントローラーであるとしましょう。mainFrame.fxml はstart(Stage)
-method にロードされます。
Stage/Window/Whatever にアタッチされた fileChooser を表示したいとします。
そのためには、 fxml-controller にfor example について知らせるとよいでしょうprimaryStage
。
それをコントローラーに注入する方法はありますか、それとも FXML は実行時にどのシーンとステージに属しているかを認識していますか?
私が持っている唯一のアイデアは、 primaryStage をいくつかの静的コンテキストに保存することですが、それは私にはそれを行う方法とは思えません。
javafx - Javafx 2.0:CSSでラジオボタンの円のサイズを変更するにはどうすればよいですか?
FXMLとCSSを使用してアプリビルドのラジオボタンのサイズを変更しようとしています。私はsceneBuilderを使用しています。
ご協力いただきありがとうございます !
ラジオボタンの実際のCSSコードは次のとおりです。
javafx-2 - FXML へのタグの組み込み
同じ FXML ファイルで定義されたコード (タグ) を含める方法があるかどうかを知りたいです。私が望むのは、すべてのプロパティをコピーして貼り付けることなく、同じ画像を数回含めることです:
私は次のようなものが欲しいです:
この回答https://stackoverflow.com/a/8490764/1606953を読みましたが、外部ソース (= 他のファイル) を含めることをカバーしています。小さなコードを含めることにもっと興味があります
皆さん、ありがとうございました