HBox
を拡張し、TextField
とButton
を含む単純なカスタムコントロールを作成しました。多くのコントロールでは、その目的を説明するラベルが付いているのが理にかなっています。ニーモニック対応のプラットフォームのユーザーがコントロールに簡単にアクセスできるようにする、具体的にはボタンインスタンスにフォーカスを当てるようにします。カスタムコントロールを持つLabel.setLabelFor(Node)の割り当て
私の最初の考えは、ターゲットノードがラベルのアクティブ化に焦点を当てていると仮定して、カスタムコントロールにフォーカスリスナーを割り当てることでしたが、これは機能しません。 JavaFXソースを調べると、Label.labelForProperty()
はNodeHelper$NodeAccessor.setLabeledBy(Node, Node)
メソッドを使用していますが、NodeHelper$NodeAccessor
インターフェイスのソリッドな実装が見つからないため、それを超えることはできません。私の推測では、このユーティリティクラスは、適切と思われるターゲットとの関連付けをマップするだけで、何らかの理由で私のカスタムコントロールがマップされないということです。
私は、ボタンへのアクセスを開いてターゲットとして直接割り当てることができますが、明白な理由から、これは賢明ではないため、ボタンをアクセスできない状態にすることをお勧めします。
誰もがこのシナリオに遭遇し、カスタムコントロールの内部実装の詳細の可視性を損なうことなく実行可能なソリューション/回避策を見つけましたか?
感謝を。これは多かれ少なかれ私の生産コードのために行った回避策ですが、どういうわけかまだ少し "クルージュ"と感じています。それでも、少なくともそれは動作しますが、それは結局のところ主な目的です。 – stan