我是一名经验丰富的Java程序员,但是一个Swing新手,所以请耐心等待。
我希望有一个具有键盘焦点的JPopupWindow。我想响应箭头键,转义(关闭菜单)和回车(调用项目)。我必须在菜单中添加一个KeyListener并自己编码所有这些,或者是否有某种“模式”我可以设置来激活这种行为,这似乎应该是标准的。
JPopupMenus上的标准Swing教程部分仅讲述助记符和加速器。我并不特别想要那些。
很难相信这完全违背了JPopupMenu。
获得像我想要实现的东西的最佳方法是什么?
答案 0 :(得分:6)
执行jpopupMenu.show(Component invoker, int x, int y)
后,它会根据需要自动响应键盘。如果这不起作用,那么你可能需要解决一些其他问题,即一些其他组件在它不应该等时从菜单中抢走焦点。
答案 1 :(得分:3)
我建议您将Action个实例添加到JPopupMenu
,而不是KeyListener
。使用setComponentPopupMenu()
将弹出窗口添加到面板中。