java 全局按键 swing

原创 2015年11月19日 20:05:22
DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) {


if (e.getKeyCode() == KeyEvent.VK_F1) {
toolbarPanel.switchLogLevelItem.setVisible(true);   //设置按钮是否可见
toolbarPanel.saveItem.setVisible(true);
toolbarPanel.clearAccItem.setVisible(true);
toolbarPanel.clearBuildItem.setVisible(true);


} else if (e.getKeyCode() == KeyEvent.VK_F2){
toolbarPanel.switchLogLevelItem.setVisible(false);
toolbarPanel.saveItem.setVisible(false);
toolbarPanel.clearAccItem.setVisible(false);
toolbarPanel.clearBuildItem.setVisible(false);

}


// e.getModifiers()==3 表示ctrl+shift同事按下

// e.getModifiers()==1 表示shift按下

// e.getModifiers()==2 表示ctrl按下

System.out.println("e.getID() = " + e.getID());
      System.out.println("e.isControlDown() = " + e.isControlDown());
      System.out.println("e.isShiftDown() = " + e.isShiftDown());
     System.out.println(" e.getKeyCode() = " + e.getKeyCode());

// e.consume();// 是否已经消费了此事件
return e.isConsumed();
}


});


=======================

Toolkit 全局设置

Toolkit toolkit=Toolkit.getDefaultToolkit();


toolkit.addAWTEventListener(new AWTEventListener()
{
@Override
public void eventDispatched(AWTEvent event)
{
if (event.getClass()==KeyEvent.class)
{
KeyEvent e=(KeyEvent)event;
//...
System.out.println("e.getKeyChar()" + e.getKeyChar() + ",e.getKeyCode()"
+ e.getKeyCode() + ",e.getID()" + e.getID());
}
}
},java.awt.AWTEvent.KEY_EVENT_MASK);

Java Swing事件处理——键盘事件及监听处理 KeyListener 按键测试

代码如下 package com.liuyanzhao; import java.awt.Button; import java.awt.Color; import jav...
  • LIU_YANZHAO
  • LIU_YANZHAO
  • 2017年05月25日 19:09
  • 1009

[JNI]用JAVA实现全局快捷键

基本思路:使用WIN API实现一个底层键盘钩子,监听按键事件。如果需要的快捷键被触发,则弹出相应的窗口。 找到了http://www.jotschi.de/?p=90 这个代码基本上实现了我的要...
  • ycb1689
  • ycb1689
  • 2013年03月05日 11:44
  • 1959

Java Swing界面编程(24)---事件处理:键盘事件及监听处理

在Swing的事件处理中也可以对键盘的操作进行监听,直接使用KeyListener接口即可。 package com.beyole.util; import java.awt.event.KeyE...
  • xuejiawei123
  • xuejiawei123
  • 2014年05月30日 18:57
  • 6058

Java:键盘全局监听

思路是在任何事件发生的时候都进行监听 这里我们会使用到 Toolkit 类中的 AWTEventListener方法 addAWTEventListener public void addAWT...
  • gcangle
  • gcangle
  • 2013年02月07日 12:35
  • 10008

Java swing更改全局字体

这段代码在jframe显示前调用,比如main方法开始就调用: public static void setUIFont() { Font f = new Font("宋体",Font....
  • u010889616
  • u010889616
  • 2016年03月16日 19:51
  • 2506

Java Swing模拟按键事件

写之前的话 一个输入框,按钮、图片以及图片的Base64编码,图片是按钮的背景图片,按钮覆盖在字符串上面,想要达到的目的是当触发退格键(Backspace)事件时,遇到图片的标签,则将该图片的字符串...
  • changqing5818
  • changqing5818
  • 2015年10月28日 16:50
  • 1692

设置Swing的全局字体

JDK目前显示中文字体,都是默认的偏小、比较难看,手动一个一个地去改又比较麻烦,这里采用了一个方法来设置swing的全局字体——public static void initGlobalFontSet...
  • pcfirebird
  • pcfirebird
  • 2006年06月04日 11:32
  • 1763

设置Swing全局字体

1,首先需要确定本地有这个字体,否则设置后会不生效 2,在程序中添加如下代码 private static void InitGlobalFont(Font font) { FontU...
  • yu13473054
  • yu13473054
  • 2016年01月08日 18:29
  • 492

Java Swing 中三种事件处理方法之比较

一、什么是事件事件是用户与GUI(图形界面)交互的时候所触发的事情。 监听器是能够检测事件并且能够响应事件的代码。 创建一个监听器类,在GUI类内声明这个类的实例,并且把监听器对象和需要响应事件的GU...
  • DL88250
  • DL88250
  • 2007年02月18日 12:38
  • 2251

Java设置全局热键钩子——第三方包jintellitype实现

Java原生API并不支持为应用程序设置全局热键。要实现全局热键,需要用JNI方式实现,这就涉及到编写C/C++代码,这对于大多数不熟悉C/C++的javaer来说,有点困难。不过幸好,国外有人已经实...
  • lipei1220
  • lipei1220
  • 2015年09月18日 21:27
  • 2090
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 全局按键 swing
举报原因:
原因补充:

(最多只允许输入30个字)