【问题标题】:Java: How to add a shortkey to a componentJava:如何为组件添加快捷方式
【发布时间】:2010-12-03 10:26:57
【问题描述】:

JMenuItem 类中,您可以添加一个快捷键。是否可以在不使用JMenu 的情况下将此快捷键添加到组件或应用程序。

【问题讨论】:

    标签: java keyboard-shortcuts


    【解决方案1】:

    扩展AbstractButton 的组件具有允许您设置助记符或加速键的方法。对于其他人,您需要自己执行此操作。

    所有 Swing 组件都使用键绑定(即使是您上面描述的 JMenu)。它通过将KeyStroke 绑定到Action 来工作。要查找所有当前的 Swing 绑定,您可以查看 Key Bindings。该条目还包括指向“如何使用键绑定”的 Swing 教程的链接。

    【讨论】:

      【解决方案2】:

      您可以将KeyListener 附加到任何组件。

      您可以在那里处理他们的击键并处理所需的操作:

      完整示例请参见tutorial

      【讨论】:

      • 你可以,但这不是 Swing 设计的使用方式。 Swing 为此引入了 InputMaps 和 ActionMaps。
      • @camickr:至少这是一个选项 :) 感谢您的评论;)
      【解决方案3】:

      This example 应该会带你上路。

      【讨论】:

        【解决方案4】:

        不仅按钮可能有助记符。其他组件的助记符(快捷键)可以通过它们的标签间接指定。

        您需要为组件创建一个标签并为其创建setDisplayedMnemonic。然后使用setLabelFor 将标签附加到组件。代码如下所示:

        JLabel lab1 = new JLabel("Text 1");
        lab1.setDisplayedMnemonic('e');
        JTextField tf1 = new JTextField(20);
        lab1.setLabelFor(tf1);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-24
          • 1970-01-01
          • 2013-10-17
          • 2018-10-12
          相关资源
          最近更新 更多