知道在Java中是按热键还是快捷键

时间:2018-10-05 03:36:08

标签: java keyboard-shortcuts keypress

如何检测快捷键 Ctrl + A Ctrl + C 按下Ctrl + V 并进入其快捷键功能。他们要求我在java的此功能下执行此操作,编辑器可能仅收听所述快捷方式。这可行吗?

TCombo combo = new TCombo();
JTextComponent editor = (JTextComponent) combo.getEditor().getEditorComponent();
editor.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
    String keyChar = String.valueOf(e.getKeyChar());
    int keyCode = e.getKeyCode();

    //If Ctrl + A
    //do the normal function of select all

    //If Ctrl + C
    //do the normal function of copy

    //If Ctrl + V
    //do the normal function of paste
    }
});

1 个答案:

答案 0 :(得分:1)

您应该使用getModifiers方法。

if ((e.getKeyCode() == KeyEvent.VK_C) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { 
//Your code here }

请注意,使用&运算符是因为它是一个比较操作。