我想知道如何在我的Java应用程序中添加类似于Emacs的快捷方式。例如C-x C-f和C-x b。
谢谢。
我想知道如何在我的Java应用程序中添加类似于Emacs的快捷方式。例如C-x C-f和C-x b。
谢谢。
Java提供了一种识别修饰键的方法。
所谓修饰键是指:
这些键可以与键盘上的其他普通按键配对使用,以确定是否按下了组合键。
if( (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_X) )
{
}
e.getModifiers() 可用于识别修改器以及单击的鼠标按钮。这将返回位掩码。
请参见此处。
http://www.leepoint.net/notes-java/GUI-lowlevel/keyboard/keyboard.html
我会像这样使用它来处理 Ctrl。这是过度简化的代码,但您会有一个想法。
JTextField sampleTxtFld= new JTextField();
sampleTxtFld.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e)
{
if((e.isControlDown() && e.getKeyCode() == KeyEvent.VK_X)
{
//identifies whether Ctrl + X has been pressed
// do some action here
}
}
public void keyReleased(KeyEvent e)
{
//some key released code here
}
public void keyTyped(KeyEvent e) {
}
});