バンチメニュー項目(グラフィック、onClickメソッドリンクなどを含む)でメニューバーをFXMLで宣言しました。メニューバーとコンテキストメニューに同じFXML宣言を再利用
テーブルのコンテキストメニューを作成していますが、メニューバーの[編集]メニューのすべてのメニュー項目をそこに配置したいと思います。
FXMLのDRY方法はありますか?
メニュー項目のすべてのFXML宣言をコピーし、両方の項目セットを維持する必要はありません。 私はそれらをJavaコードで宣言すればアイテムを再利用できると知っていますが、私はすべてのレイアウトをFXMLに保ちたいと思います。ここで
は、私が複製したくないことを、編集メニューのFXMLです:
<Menu text="_Edit">
<MenuItem onAction="#copyRaw" text="Copy _raw log">
<accelerator>
<KeyCodeCombination alt="UP" code="C" control="DOWN" meta="UP" shift="UP" shortcut="UP" />
</accelerator>
<graphic>
<Glyph fontFamily="FontAwesome" icon="copy" />
</graphic>
</MenuItem>
<MenuItem onAction="#copyPretty" text="Copy with _columns">
<accelerator>
<KeyCodeCombination alt="UP" code="C" control="DOWN" meta="UP" shift="DOWN" shortcut="UP" />
</accelerator>
<graphic>
<Glyph fontFamily="FontAwesome" icon="copy" />
</graphic>
</MenuItem>
<SeparatorMenuItem mnemonicParsing="false" />
<MenuItem onAction="#selectAll" text="Select _All">
<accelerator>
<KeyCodeCombination alt="UP" code="A" control="DOWN" meta="UP" shift="UP" shortcut="UP" />
</accelerator>
</MenuItem>
<MenuItem mnemonicParsing="false" onAction="#unselectAll" text="Unselect All" />
</Menu>
ありがとう、私はちょうどここでカスタムコンポーネントを再利用しようとしていない、私はコントローラのメソッドにバインドされた全体の構造を再利用しようとしているので、この例よりも少し複雑です。 – Joffrey