我已经使用 JavaFX 2.2 和 Scene Builder 将 Mnemonics 添加到菜单栏中,但它不能 100% 正常工作。
这是我的菜单:
当我按 Alt 时,它看起来像这样,这是正确的:
然后我按“D”,菜单打开,但是菜单里面的助记符没有下划线:
当我再次按 Alt 时,线条确实出现了;但是,“Datei”的“D”下的行消失了:
所以这似乎是JavaFX中某种错误的切换功能。
无论如何,我希望 Mnemonics 一次全部加下划线,就像我单击菜单时一样:
当您用鼠标单击菜单然后按 Alt 时,所有助记符都会立即正确地加下划线。再次按 Alt 将在带下划线和不带下划线之间切换。这是正常的预期行为。
所以我认为当通过 Mnemonics 打开菜单时,Oracle 家伙只是忘记为子菜单调用某种“underlineMnemonics()”方法。有谁知道那是什么方法,所以我可以在打开菜单时自己调用它?或者有人有其他解决方法吗?
例如,我知道您可以通过 CSS 使主菜单栏的下划线可见:
.mnemonic-underline {
-fx-stroke: -fx-text-base-color;
}
但我未能在子菜单上完成这项工作。(另外,这不是一个理想的解决方案,因为这样下划线就不能再次关闭。)