FXMLでは、1つのインスタンス要素をプロパティ要素なしで直接埋め込み、外側のインスタンス要素に@DefaultProperty
と注釈されたプロパティを設定するために使用されます。
あなたはチェックするとdocumentation for Text
デフォルトのプロパティが"text"
であることがわかりますので、あなたのFXMLは、言い換えれば
<Text layoutX="329.0" layoutY="202.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Tcond[C]" textAlignment="CENTER">
<text>
<Tooltip text="'%Empty_Bundle'"/>
</text>
</Text>
に相当し、あなたがツールヒントにあなたのText
オブジェクトのテキストを設定しようとしています。
Text
は、実際にはまったくsetTooltip(...)
メソッドがありません。そのメソッドはControl
クラスに定義されています。そのうちText
はサブクラスではありません。 Text
インスタンスにツールチップを設定する唯一の方法は、Tooltip.installTooltip(...)
methodを使用することです。コントローラからの呼び出しのみ可能です(この静的メソッドの呼び出しと同等のFXMLはありません)。
あなたの他のオプションそれが動作するかどうか、Label
でText
を置き換えるために、次のようになります。Text
がするようLabel
は、あなたが直接stroke
を設定することはできませんので、あなたがすることを
<Label layoutX="329.0" layoutY="202.0" text="Tcond[C]" textAlignment="CENTER">
<tooltip>
<Tooltip text="'%Empty_Bundle'"/>
</tooltip>
</Label>
は注意その機能を失う(あるいは少なくともCSSを使わなければならない)。
"これはこのテキストのツールチップを作成するfxmlコードです。"いいえ:['Text'](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/text/Text.html)の' @ DefaultProperty'は 'text'プロパティですが、これは、テキストを指定されたツールチップに設定しようとします。 'Text'は' setTooltip(...) 'メソッドを持っていません:コントローラで[' Tooltip.install(...) '](http://docs.oracle.com/ javase/8/javafx/api/javafx/scene/control/Tooltip.html#install-javafx.scene.Node-javafx.scene.control.Tooltip-)。 'setTooltip'を持つ' Label'を使うことができるので、FXMLで設定することができます。 –
テキストではなく、ラベルはいを使うべきですか? –
あなたが必要とするものに対して 'Label'が動作するかどうか。もちろん、コントローラーのツールチップを設定するだけです。 –