知道是否在 Java 中按下热键或快捷键
Know if pressing a hotkey or shortcut key in Java
如何检测快捷键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
}
});
您应该使用 getModifiers 方法。
if ((e.getKeyCode() == KeyEvent.VK_C) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) {
//Your code here }
请注意,使用 & 运算符是因为它是位比较运算。
如何检测快捷键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
}
});
您应该使用 getModifiers 方法。
if ((e.getKeyCode() == KeyEvent.VK_C) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) {
//Your code here }
请注意,使用 & 运算符是因为它是位比较运算。