我想使用AWT或Swing编写类似于java中的上下文菜单的弹出菜单,但是我需要在键入键时显示,例如“。” 我正在查看上下文菜单,但需要右键单击。 我该怎么做?任何的想法... 感谢。
答案 0 :(得分:2)
首先看看How to Use Key Bindings和How to Use Menus,特别是Bringing Up a Popup Menu
基本上,您需要为指定键的组件注册键绑定,并在触发相应的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);
}
});
答案 1 :(得分:0)
您好您可以添加键监听器和按键 请确保有条件的"。"按下该键,在该块中通过使用Robot类为内容菜单键按钮进行自动按键事件。
或者您可以进行右键单击按钮事件。