• 如何给swing加上alt+x和ctrl+x快捷键


    1.给菜单栏上的菜单alt+x快捷键非常简单:

    private JMenu helpInfo = new JMenu("帮助");

    helpInfo.setMnemonic(KeyEvent.VK_?);

    public void setMnemonic(int mnemonic)

    设置当前模型上的键盘助记符。助记符是某种键,它与外观的无鼠标修饰符(通常是 Alt)组合时(如果焦点被包含在此按钮祖先窗口中的某个地方)将激活此按钮。 
    一个助记符必须对应键盘上的一个键,并且应该使用 java.awt.event.KeyEvent 中定义的 VK_XXX 键代码之一指定。助记符是不区分大小写的,所以具有相应键代码的键事件将造成按钮被激活,不管是否按下 Shift 修饰符。如果在按钮的标签字符串中发现由助记符定义的字符,则第一个出现的助记符将是带下划线的,以向用户指示该助记符。

    2.给菜单的下拉菜单加上ctrl+x就有些复杂:

    final JMenuItem bargeInfo = new JMenuItem("驳船信息管理(N)         ");
      
    //设置快捷键
    KeyStroke keyStroke1 = KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK);

    bargeInfo.setAccelerator(keyStroke1);   

       bargeInfo.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
                     //添加事件监听代码
        }
       });

    public void setAccelerator(KeyStroke keyStroke)

    设置组合键,它能直接调用菜单项的操作侦听器而不必显示菜单的层次结构。UI 负责安装正确的操作。注意,当键入键盘加速器时,不管目前是否显示菜单,它都会运行。 
    参数:
    keyStroke - 将作为加速器的 KeyStroke

    public class KeyStroke extends AWTKeyStroke
    表示键盘或等效输入设置上的键操作的KeyStroke。KeyStroke 仅能对应于按下或释放某个特定的键,正如 KEY_PRESSED 和 KEY_RELEASED KeyEvents 执行的操

    作;或者,它们可能对应于键入特定的 Java 字符,正如 KEY_TYPED KeyEvents 执行的操作。在所有情况下,KeyStroke 都可以指定修饰符(alt、shift、

    control、meta 或其组合),在针对精确匹配的操作中,这些修饰符必须存在.KeyStroke 是不可变的,而且是惟一的。客户端代码无法创建 KeyStroke;必须使

    用 getKeyStroke 的变体。

    public static KeyStroke getKeyStroke(int keyCode, int modifiers)
    在给出一个数字键代码和一组修饰符的情况下,返回 KeyStroke 的一个共享实例。返回的 KeyStroke 将对应于一个按键操作。

    可以使用在 java.awt.event.KeyEvent 中定义的“虚拟键”常量来指定键代码。例如:
    java.awt.event.KeyEvent.VK_ENTER 
    java.awt.event.KeyEvent.VK_TAB 
    java.awt.event.KeyEvent.VK_SPACE 
    修饰符由以下任意组合组成:
    java.awt.event.InputEvent.SHIFT_MASK (1) 
    java.awt.event.InputEvent.CTRL_MASK (2) 
    java.awt.event.InputEvent.META_MASK (4) 
    java.awt.event.InputEvent.ALT_MASK (8) 
    因为这些数字都是 2 的不同次幂,所以它们的任意组合是一个整数,该整数的每个位都表示一个不同的修饰符键。可以使用 0 指定无修饰符。

    参数:
    keyCode - 一个 int,指定键盘上某个键的数字代码
    modifiers - 任意修饰符的按位或组合

    返回:
    该键的 KeyStroke 对象

  • 相关阅读:
    python libsvm模块在mac上的安装
    logistic regression (Python&Matlab实现)
    读C++ primer 的一些练习
    R笔记
    python学习笔记
    linux常用命令
    macbook air安装ubuntu双系统简记
    解方程——对分法
    解方程——不动点迭代
    隐马尔可夫模型模型评估及最优路径的matlab实现
  • 原文地址:https://www.cnblogs.com/hehaiyang/p/3733551.html
Copyright © 2020-2023  润新知