Java 如何在不使用awt或swing右键单击的情况下创建弹出菜单?

Java 如何在不使用awt或swing右键单击的情况下创建弹出菜单?,java,swing,awt,contextmenu,popupmenu,Java,Swing,Awt,Contextmenu,Popupmenu,我想使用AWT或Swing编程一个类似于java上下文菜单的弹出菜单,但是我需要在键入键时显示,例如“ 我正在查看上下文菜单,但它需要右键单击。 我怎么做?任何想法。。。 谢谢。您好,您可以添加按键侦听器并按按键 请确保已按“.”键,在该块中,使用Robot类为内容菜单键按钮生成自动按键事件 或者您可以创建右键单击按钮事件。首先查看和,尤其是 基本上,您需要针对指定键的组件注册一个键绑定,当触发相应的actionPerformed事件时,显示弹出菜单 InputMap im = getInput

我想使用AWT或Swing编程一个类似于java上下文菜单的弹出菜单,但是我需要在键入键时显示,例如“ 我正在查看上下文菜单,但它需要右键单击。 我怎么做?任何想法。。。
谢谢。

您好,您可以添加按键侦听器并按按键 请确保已按“.”键,在该块中,使用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。谢谢,这正是我想要的,在阅读了我已经测试过的两个参考资料之后,我的工作非常完美。我将把弹出窗口放在光标的位置,然后显示解决方案。谢谢