6

我是一位经验丰富的 Java 程序员,但是是 Swing 新手,所以请多多包涵。

我希望有一个具有键盘焦点的 JPopupWindow。我想响应箭头键、escape(关闭菜单)和 Enter(调用项目)。我必须在菜单中添加一个 KeyListener 并自己编写所有这些代码,还是我可以设置某种“模式”来激活这种看起来应该是标准的行为。

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

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

什么是最好的方法来实现我想要的东西?

4

2 回答 2

6

一旦你这样做jpopupMenu.show(Component invoker, int x, int y),它会根据你的需要自动响应键盘。如果这不起作用,那么您可能需要修复一些其他问题,即某些其他组件在不应该的情况下从菜单中夺走了焦点等。

于 2011-12-14T16:08:19.940 回答
3

KeyListener我建议将Action实例添加到您JPopupMenu. 用于setComponentPopupMenu()将弹出窗口添加到您的面板。

于 2011-12-14T16:19:24.950 回答