2017-06-25 122 views
0

由于您可以使用箭头键在JavaFX中导航ContextMenu,有没有办法检索当前突出显示/选择的MenuItem?JavaFX获取ContextMenu的选定项目?

我基本上试图创建一个像Outlook等自动完成功能与电子邮件地址,你开始打字,它给出了下面的建议,你可以按Tab键输入选择的菜单动作,而无需使用鼠标。

任何帮助表示赞赏,谢谢。

+0

我可能会尝试在'Popup'内使用'ListView'来实现它。然后,列表视图上的标准选择模型将为您提供所需的内容。 –

回答

0

尝试使用组合框代替。它给你一个下拉列表和一个可选的文本框。上下文菜单是一个菜单项,如果将其包含在列表视图或表视图中,则只能实现选择模型。

+0

你的意思是,例如,创建一个ListView,然后使用一个新的CustomMenuItem(ListView)来显示列表?我得到的问题是,我需要从TextField中更改焦点,这不是我想要的。使用上下文菜单,我可以导航它,同时仍然关注TextField,继续输入,如果我包装了一个ListView,它可以关注列表视图(需要点击)或TextFIeld。 –

+0

据我所知,上下文菜单具有有限的事件处理。您不能听取菜单项或上下文菜单本身的焦点。这使得应用程序很难知道哪个项目的重点。 –

+0

有没有办法通过扩展课程来找到这个问题?或者通过检查样式表来查看MenuItem是否具有焦点属性? –