Accelerator key 与Mnemonic key 与的区别

Accelerator key比较容易理解,字面意思也很简单,快捷键,就是通过键盘的几个键组合,触发一个action的执行。

Mnemonic key通常是菜单,按钮,文本标签等控件的文本中带下划线得一个字符,用来提示用户可以同时按下Alt键和这个字符对应得键来触发相应的动作,比如触发对应按钮的命令执行。Mnemonic的意思是“帮助记忆的”,可能是因为通过一个带有下划线的字符,用户可以一目了然的知道这个字符加上Alt可以触发这个字符所处文本描述的一个action。从而免去用户记忆之苦,所以称之为帮助记忆的键,也即mnemonic key(键盘助记符)。

那Accelerator key 与Mnemonic key的作用似乎也一样。都是通过键盘来触发系统中action的执行,以实现不通过无鼠标与系统高效交互。那二者到底有什么区别呢?

第一,Accelerator key只有菜单才有,可以通过JMenuItem.setAccelerator来设置。Mnemonic key可以应用于菜单,通过JMenuItem. setMnemonic来设置。比如有个“文件(F)”菜单,该菜单有“打开 CTRL+O”,“退出(X)”。Alt+F可弹开系统得文件菜单,松开Alt,然后按下X键,可以退出应用。这就是mnemonic key的作用。而对于“打开 CTRL+O”子菜单,这个菜单设置了accelerator key,只要直接按下CTRL+O就可以触发这个操作,不用先弹出文件菜单。

第二,Mnemonic key除了菜单,还可以用于按钮,Check box,Radio Button,文本标签等控件。

至于如何设置accelerator key和mnemonic key这里不再赘述,请参考api或者其他的tutorial。

你可能感兴趣的:(F#)