「FXMLでノードを参照するには」の版間の差分
提供: tknotebook
15行: | 15行: | ||
参照する側のノードの属性では $test というように fx:id属性の値に $ を付けた文字列を使って、ノードを参照します。 | 参照する側のノードの属性では $test というように fx:id属性の値に $ を付けた文字列を使って、ノードを参照します。 | ||
− | <Label labelFor="$test" layoutX="52.0" layoutY="67.0" mnemonicParsing="true" text="_test" /> | + | <Label labelFor="$test" layoutX="52.0" layoutY="67.0" |
+ | mnemonicParsing="true" text="_test" /> | ||
+ | |||
+ | 参照される側のノードは、参照する Label ノードより FXML 上で先に書かれていなければならないことに注意してください。 | ||
尚、何故か labelFor属性は SceneBuilder ではサポートされていません。直接 FXML を編集してください。 | 尚、何故か labelFor属性は SceneBuilder ではサポートされていません。直接 FXML を編集してください。 |
2016年6月21日 (火) 08:49時点における版
メインページ>コンピュータの部屋#JavaFX>JavaFX Tips
FXMLの中であるノードが別のノードを参照する場合があります。
例えば Label コントロールの labelFor プロパティは別のノードを参照します。
labelFor プロパティは Labelノードのニーモニック(下線が引かれた文字)がキーボードから入力された場合、 指定されたノードにフォーカスを移すための使われるプロパティです。
やり方は簡単で、まず参照されるノードに fx:id 属性を付けます。
<TextField fx:id="test" layoutX="226.0" layoutY="72.0" />
参照する側のノードの属性では $test というように fx:id属性の値に $ を付けた文字列を使って、ノードを参照します。
<Label labelFor="$test" layoutX="52.0" layoutY="67.0" mnemonicParsing="true" text="_test" />
参照される側のノードは、参照する Label ノードより FXML 上で先に書かれていなければならないことに注意してください。
尚、何故か labelFor属性は SceneBuilder ではサポートされていません。直接 FXML を編集してください。