Java 如何在不使用awt或swing右键单击的情况下创建弹出菜单?
我想使用AWT或Swing编程一个类似于java上下文菜单的弹出菜单,但是我需要在键入键时显示,例如“ 我正在查看上下文菜单,但它需要右键单击。 我怎么做?任何想法。。。Java 如何在不使用awt或swing右键单击的情况下创建弹出菜单?,java,swing,awt,contextmenu,popupmenu,Java,Swing,Awt,Contextmenu,Popupmenu,我想使用AWT或Swing编程一个类似于java上下文菜单的弹出菜单,但是我需要在键入键时显示,例如“ 我正在查看上下文菜单,但它需要右键单击。 我怎么做?任何想法。。。 谢谢。您好,您可以添加按键侦听器并按按键 请确保已按“.”键,在该块中,使用Robot类为内容菜单键按钮生成自动按键事件 或者您可以创建右键单击按钮事件。首先查看和,尤其是 基本上,您需要针对指定键的组件注册一个键绑定,当触发相应的actionPerformed事件时,显示弹出菜单 InputMap im = getInput
谢谢。您好,您可以添加按键侦听器并按按键 请确保已按“.”键,在该块中,使用Robot类为内容菜单键按钮生成自动按键事件 或者您可以创建右键单击按钮事件。首先查看和,尤其是 基本上,您需要针对指定键的组件注册一个键绑定,当触发相应的
actionPerformed
事件时,显示弹出菜单
InputMap im = getInputMap(WHEN_IN_FOCUSED_WINDOW);
ActionMap am = getActionMap();
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0), "popup");
am.put("popup", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
popup.pack();
Dimension popupSize = popup.getPreferredSize();
int width = getWidth();
int height = getHeight();
int x = (width - popupSize.width) / 2;
int y = (height - popupSize.height) / 2;
popup.show(TestPane.this, x, y);
}
});
哪种框架?AWT、Swing、JavaFX、SWT……?欢迎使用Stack Overflow,请使用。到目前为止你试过什么?请阅读。@MadProgrammer谢谢,我正在参观,我想使用AWT或Swing。谢谢,这正是我想要的,在阅读了我已经测试过的两个参考资料之后,我的工作非常完美。我将把弹出窗口放在光标的位置,然后显示解决方案。谢谢