JavaFX アプリケーションを作成し、FXML ファイルでニーモニック解析を有効にする場合、javafx.scene.control.Menuのラベル文字列で「_」文字を使用して、Alt コードを解析できるようにする必要があります (Windows の場合)。これは機能しますが、2014 年のこのバグ レポートで確認されているように、ステージが表示されているときにメニューの幅に余分なスペースがあるようです。
私の質問は次のとおりです。この問題を解決するための回避策を知っている人はいますか? テキスト自体のサイズを計算して、メニューの幅を手動で設定することを考えましたが、JavaFX のメニューには、サイズを手動で設定する setWidth()、widthProperty()、またはその他のメソッドがないようです。
また、メニュー内でテキストを中央に配置することも考えましたが、Java コード、Scene Builder、または JavaFX の CSS を介してそれを実現する手段が見つかりませんでした。
問題のスクリーンショットは次のとおりです。
編集:
いくつか作業した後、CSS で次のことができることがわかりました。
.menu-bar .menu .label {
-fx-alignment: center;
}
これにより、JavaFX メニューのラベルが中央に配置されますが、余分なスペースがまだ存在します。私のOCDを満たすには十分ですが、この問題を処理するためのより良い方法はまだありますか?