给按钮添加快捷键。
网上搜了搜,不满足自己的需要。

用到getActionMap() and getInputMap()


需要先了解ActionMap,InputMap,KeyStroke
1.keyStroke 用来保存一个快捷键。
这里用到的方法getKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)

  • keyCode:字母数字按键对应的码,
  • modifiers:修饰符(如shift,alt等),
  • onKeyRelease: false 代表按下时触发(当松开时触发为true)

2.InputMap将组合按键keyStroke起个名字
3.actionMap将名字与效果对应
三者之间的关系:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.KeyStroke;public class demo extends JFrame{public demo() {JLabel mylab=new JLabel("按钮未点击");JButton mybt=new JButton("点击显示文字");//鼠标点击按钮mybt.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {mylab.setText("按钮已点击");}});//快捷键mybt.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.SHIFT_DOWN_MASK,false), "Shift_z");mybt.getActionMap().put("Shift_z", new AbstractAction() {public void actionPerformed(ActionEvent e) {mylab.setText("按钮已点击");}});add(mylab);add(mybt);setLayout(new FlowLayout());setVisible(true);setBounds(50,50,200,200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String args[]) {new demo();}
}

一个不错的文档

JAVA按钮设置组合快捷键相关推荐

  1. Swing 设置组合快捷键

    想设置Ctrl+d,Alt+d,这种组合快捷键,找了半天未果,结果发现,java本省就预先设置好了,挺好用的,而且目测自己没什么办法设置组合键,当按下了Ctrl或者Alt这种键时,根本监听不到其它键的 ...

  2. java 按钮设置图片_Java中如何设置带图片按钮的大小

    在java部分需要用到图形界面编程的项目中,经常会使用图片设置对按钮进行美化,但是使用时会出现一个很麻烦的问题, 按照方法:JButton jb1 = new JButton(); jb1.setBo ...

  3. 使用 js 设置组合快捷键,支持多个组合键定义,还支持 React

    ╭┈┈╮ ╭┈┈╮ ╭┈┈╮ ┆ ├┈┈..┈┈┈┈┈.┆ └┈╮┆ ├┈┈..┈┈┈┈┈..┈┈.┈┈..┈┈┈┈┈. ┆ ┆┆ □ ┆┆ ┈┤┆ < ┆ -__┘┆ ┆ ┆┆__ ┈┈┤ ╰ ...

  4. Sublime Text 如何设置组合快捷键

    Sublime 有个功能叫再次缩进(Reindent),我就以这个功能为例讲下如何设置快捷键,这个功能的菜单路径是:Edit ➠ Line ➠ Reindent,有人说这个再次缩进可以格式化代码,扯淡 ...

  5. vb.net 组合快捷键如何设置_你不知道的PPT快捷键

    晚上好呀,我是三石~ 为了提高PPT的制作效率,我们经常会用到一些快捷键. 你现在脑海里是不是也浮现出一些快捷键(Ctrl+C.Ctrl+V等). PS:有些人喜欢直接将操作按钮添加到[自定义功能区] ...

  6. JAVA Swing——设置JButton按钮样式

    1.对JButton大小的设置 因为JButen是属于小器件类型的,所以一般的setSize不能对其惊醒大小的设置,所以一般我们用 button.setPreferredSize(new Dimens ...

  7. java如何控制分屏显示,intellij idea 分屏设置 与快捷键

    1.找到分屏功能 File -> setting -> keymap,搜索(注意大小写): Split Vertically 水平分屏 Split Horizontally 垂直分屏 2. ...

  8. Notepad++ 编辑器常用设置与常用组合快捷键汇总

    1.编辑器设置中文 安装后,鉴于工作的习惯性,可选择相应的语言(简体中文和英文).对于我来说,英文不是很好,且工作习惯,选择的是简体中文,设置截图如下(刚刚开始时,编辑器默认的不是黑色,这是我设置过的 ...

  9. Java菜单——设置快捷键

    一般的菜单的快捷方式有:单个字母(A-Z).ALT/CTRLl+字母键,当然也有多键的,但我们这里讲的是这两种. 菜单(JMenu) 菜单(JMenu)的快捷方式只能用单个字母(A-Z). 方式: 菜 ...

最新文章

  1. Windows10下SSH远程拷贝文件
  2. C++ Primer 第九章 顺序容器
  3. Qt Creator创建项目
  4. 函数指针——typedef函数指针
  5. 蚂蚁技术专家:一篇文章带你学习分布式事务
  6. .form文件_含文件上传的form表单AJAX提交小结
  7. Asp.Net--回调技术
  8. 【模拟】牛客网:区间表达
  9. KLite 移植说明 V1.0
  10. C字符串指针遇到的问题
  11. 浙江大学PAT考证,计算机专业的可别错过了,轻松就业+高薪
  12. 基于 FPGA 的 SATA 3.0 IP 核简介
  13. 前端基础知识学习总结--百分比布局、Flex布局
  14. 手把手教你抄写URP——3——自发光材质
  15. 告别传统机房:3D 机房数据可视化实现智能化与VR技术的新碰撞
  16. 客观的看待人工智能,也许并没有那么可怕
  17. 新媒体短视频运营哪些内容
  18. c# Thumbnail 生成缩略图,生成压缩图,最大宽高比例缩放,最大边按比例缩放
  19. android菜单回弹,Android--实现ViewPager边界回弹效果(转)
  20. VC++通过SetWindowHookEx去实时拦截窗口消息,实现视频会议中桌面共享图像的实时拖动(附源码)

热门文章

  1. python02-条件语句到循环语句
  2. vsftpd安装配置
  3. POJ3690:Constellations——题解
  4. php通过http请求发送数组
  5. 如何添加ORACLE 的 ODBC
  6. AngryTask - 基于伪 scrum 的个人项目开发产品
  7. 安装Hadoop系列 — 导入Hadoop源码项目
  8. jsPlumb(3)-基本概念
  9. 挑选适合自己的公司——网络工程师你是否真的已经倒下(二)
  10. 职场笔记[0702]:用户体验和创业