在Java中,如何创建类似于Emacs的快捷方式?
我想知道如何在Java应用程序中添加类似于Emacs的快捷方式。例如C-xc-f和C-xb在Java中,如何创建类似于Emacs的快捷方式?,java,keyboard-shortcuts,shortcut,Java,Keyboard Shortcuts,Shortcut,我想知道如何在Java应用程序中添加类似于Emacs的快捷方式。例如C-xc-f和C-xb 谢谢。Java提供了一种识别修改键的方法。 我指的是修改键 Alt--e.isAltDown() Ctrl--e.isControlDown() Shift--e.IsShift Down() 这些ACA可以与键盘上的其他普通按键配对,以确定是否按下了组合键 if( (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_X) ) { }
谢谢。Java提供了一种识别修改键的方法。 我指的是修改键
if( (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_X) )
{
}
e、 getModifiers()可用于标识修改器以及单击的鼠标按钮。这将返回位掩码
请参见此处。我会用它来表示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) {
}
});
据我所知,EMACS是一名编辑。如果要更改Swing text组件上编辑命令的击键,则需要使用键绑定。您可以使用现有的文本操作,但只需将它们绑定到不同的击键。有关所有默认绑定的列表,请参阅如何重新绑定和操作的示例。需要在按键后使用状态引擎,此问题中没有真正的“Java”…您的Java应用程序在做什么?您是在谈论varargs还是如何监听按键?Emac的快捷方式可以通过配置进行更改。您可能对在菜单项中添加助记符和加速键感兴趣,这将允许您使用按键导航菜单。@Atrys我想他是在尝试为正在创建的Java应用程序添加快捷键。他并没有试图改变Emacs本身的捷径。我的意思是,模仿Emacs的捷径系统的所有可配置荣耀(或血腥?)将是一项相当艰巨的任务