Java  Swing 快捷键

给Java Swing编程中按钮或者其他组件事件添加快捷键的方法:

Component.setAccelerator(KeyStroke.getKeyStroke(‘Q’, InputEvent.CTRL_MASK));

这个快捷键是ctrl+Q,通过这个方法即可实现点击操作与ctrl+Q快捷键操作同样的效果

为JButton设置ctrl快捷键

this.jButton_save.registerKeyboardAction(new SaveListener(), KeyStroke.getKeyStroke( KeyEvent.VK_S, KeyEvent.CTRL_MASK),JComponent.WHEN_IN_FOCUSED_WINDOW);

为JButton/JRadioButton/JCheckBox设置Alt助记符

使用从JComponent继承下来的方法。button.setMnemonic(KeyEvent.VK_M);

为JMenuItem添加快捷键

openJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));

mnuFileNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));

快捷键:alt + 1

给菜单加上助记符 mnuFile.setMnemonic(‘F’);

JLabel & setLabelFor(Component c)

JLabel可以透过setDisplayedMnemonic(char aChar)方法来设定辅助键,以及设定辅助键时必须同时使用setLabelFor(Component c)方法指定这个标签所伴随的组件,也就是当使用者使用辅助键时,焦点也会转移到所指定的组件上。

示例代码如下(快捷键为Alt + U),注意使用方法的顺序:

JLabel userLabel = new JLabel("User:");

userLabel.setDisplayedMnemonic('U');

JComboBox user = new JComboBox(new String[]

{ "1","2","3" });

userLabel.setLabelFor(user);

userPanel.add(userLabel,BorderLayout.WEST);

userPanel.add(user,BorderLayout.CENTER);

JTabbedPane使用助记符在不同JComponent中切换

tabPane.add(title,JComponent component);

---------------------use the method setMonicAt(int tabIndex, int mnemonic) e.g.:

tabPane.setMnemonicAt(0,KeyEvent.VK_T);    tabPane.setMnemonicAt(1,KeyEvent.VK_H);

Question: How to put the mnemonic under the second or third occured charater ?  怎么把助记符的显示下划线移动到特定位置上

For example: a JButton named button1 with text "Enter Time:"   , set the mnemonic under 't' in the word "time"

so the code should be: (shoould write both )

button1.setMnemonic('T');

button1.setDisplayedMnemonicIndex(6);

Problem: cannot set mnemonic in JLabel/JComponent.text with HTML text    如果文本是html的,那么助记符的下划线不会显示,但是助记符响应正确

e.g.

JTextAreatextArea=newJTextArea(10,20);JLabellabel=newJLabel("Text");label.setLabelFor(textArea);label.setDisplayedMnemonic(KeyEvent.VK_X);

vs

JTextAreatextArea=newJTextArea();JLabellabel=newJLabel("Text");//!!! NO DECORATIONlabel.setLabelFor(textArea);label.setDisplayedMnemonic(KeyEvent.VK_X);

Analyze分析:  BasicLabelUI paints the label differently depending on whether it got HTML or not.If not ,  BasicLabelUI will call some of its own functions that draw the underline. If it does, BasicHTMLRenderer is used, that does not paint any underlines.

Solution:    JLabel label = new JLabel("Text");

java swing 按键_Java Swing 快捷键相关推荐

  1. java swing背景_java swing 设置背景图片的方法一

    下面是偶写着玩的下测试的代码:(不好之处,请多多指教,大家共同进步 ) import java.awt.*; import javax.swing.*; public class ImageDemo ...

  2. java jframe教程_Java Swing JFrame窗口的实现

    1. 概述 官方JavaDocsApi: javax.swing.JFrame JFrame,窗口.JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题.图标.操作按钮(关闭.最小化.最大化 ...

  3. java swing 图层_Java swing图层的问题

    我想详细了解swing的多层图层知识,看下面两个代码为什么出来的效果是不一样的?importjavax.swing.*;importjava.awt.*;publicclassMycanvas1{pu ...

  4. java jlabel用法_java swing JLabel详解以及使用示例

    JLabel 对象可以显示文本.图像或同时显示二者.可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐.默认情况下,标签在其显示区内垂直居中对齐.默认情况下,只显示文本的标签是开始边对 ...

  5. java swing 模糊查找_Java Swing 编程 JComboBox 实现模糊查找功能。

    废话不多说,直接上代码.代码如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util ...

  6. java swing 下载_JAVA Swing 教程

    JAVA Swing 教程,包含所有练习源码和讲解教程! 初级界面篇 练习01分解颜色 练习02画板 练习03帧 练习04画布 练习05密码验证界面 练习06对话框 练习07滚动条 练习08边框 练习 ...

  7. java null布局_Java Swing 绝对布局管理方法,null布局

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.Container; import java.awt.Dimension; import java.awt.Rectang ...

  8. java 游戏视频_Java swing实现的小游戏24点游戏源码附带视频指导教程

    大家好,今天给大家演示一下由Java swing实现的一款小游戏24点,该游戏实现了以下功能:输入用户名新建一个游戏,练习模式,可以给那些不太明白24点规则的用户用来练习,排名查看,每次进入新的游戏会 ...

  9. java swing 右键_java swing制作右键菜单

    java swing中如何实现右键菜单呢?    直接上代码: /*** java * 设置弹出菜单 * @param qrResultLabel */ private void setPopupMe ...

最新文章

  1. Aria2打造属于自己的下载神器
  2. 基于stm32f405控制三相无刷电机例程_ST SSC 频道 | 基于ST STM32F302R8T6 电机空气压缩机方案...
  3. Java——设计模式(简单工厂模式)
  4. dubbo forbid service的解决办法
  5. Windows 电脑命令一览
  6. springboot通过各种不同类型参数获取容器中的bean工具类
  7. BZOJ 1801 中国象棋(DP)
  8. GAT1400---基于libcurl库的开发
  9. 微信小程序编辑与显示列表信息
  10. 简单的权限管理系统——数据库设计和实现
  11. Win7 电脑提高效率的快捷键+命令
  12. (一)通用定时器的相关介绍
  13. IDEA搭建一个SpringBoot项目——十分详细(web+mysql)
  14. RGBA 编码为 YUV420SP【NEON】
  15. 【分享】SBO初始化的过程及内容
  16. Ingress-nginx
  17. PDF转图片乱码问题解决
  18. 儿童CPC认证,儿童学习用品CPC认证
  19. 如何给linux添加一个dns服务器记录,在windows dns服务器中添加SRV记录
  20. python苹果版本下载_python for mac 2.7 下载

热门文章

  1. 三大重磅奖项揭晓 2020全球智博会为行业加冕
  2. 程序员写简历时不要犯这种低级的错误!
  3. 移动端AI应用太抢手,高通这次要送开发者20万+的SUV
  4. 主链 100 强榜单出炉, XRP 竟与比特币比肩; 以太坊每周产生 1248 种新代币 | 数据周榜...
  5. WebRTC 将一统实时音视频天下?
  6. C++ 20 进入倒计时,有哪些值得期待的新特性?
  7. 如何使用 SpringCloud 搭建服务注册中心?
  8. Java、R、JS 最常用,架构师薪资最高!起底中国开发者现状
  9. 百度发布AI芯片“昆仑”;李笑来脏话录音曝光;Facebook再现新漏洞 | CSDN 极客头条...
  10. 摩拜免押金;滴滴外卖订单骤降;小米最快本周 IPO | CSDN极客头条