如何检测快捷键 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
}
});
答案 0 :(得分:1)
您应该使用getModifiers方法。
if ((e.getKeyCode() == KeyEvent.VK_C) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) {
//Your code here }
请注意,使用&运算符是因为它是一个比较操作。