如何在JPopupMenu中获得焦点

时间:2011-12-14 15:58:23

标签: java swing focus jpopupmenu

我是一名经验丰富的Java程序员,但是一个Swing新手,所以请耐心等待。

我希望有一个具有键盘焦点的JPopupWindow。我想响应箭头键,转义(关闭菜单)和回车(调用项目)。我必须在菜单中添加一个KeyListener并自己编码所有这些,或者是否有某种“模式”我可以设置来激活这种行为,这似乎应该是标准的。

JPopupMenus上的标准Swing教程部分仅讲述助记符和加速器。我并不特别想要那些。

很难相信这完全违背了JPopupMenu。

获得像我想要实现的东西的最佳方法是什么?

2 个答案:

答案 0 :(得分:6)

执行jpopupMenu.show(Component invoker, int x, int y)后,它会根据需要自动响应键盘。如果这不起作用,那么你可能需要解决一些其他问题,即一些其他组件在它不应该等时从菜单中抢走焦点。

答案 1 :(得分:3)

我建议您将Action个实例添加到JPopupMenu,而不是KeyListener。使用setComponentPopupMenu()将弹出窗口添加到面板中。