java的键盘事件

最近看到有人问怎么模拟钢琴操作

想了想怎么实现 顺便看了下键盘事件

可以用两种方式

1、

public class KeystrokeTest extends JApplet {
private JButton button = new JButton("button");
public void init() {
  Container contentPane = getContentPane();
  JPanel panel = new JPanel();
  JCheckBox checkbox = new JCheckBox("checkbox");
  JButton southButton = new JButton("south button");
  Listener listener = new Listener();
  panel.setBorder(BorderFactory
   .createTitledBorder(("Ancestor of button and checkbox")));
  checkbox.registerKeyboardAction(listener, KeyStroke.getKeyStroke (
   KeyEvent.VK_F, 0, false), JComponent.WHEN_FOCUSED);
  panel.registerKeyboardAction(listener, KeyStroke.getKeyStroke (
   KeyEvent.VK_A, InputEvent.ALT_MASK, false),
   JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
  southButton.registerKeyboardAction(listener, KeyStroke.getKeyStroke(
   KeyEvent.VK_W, 0, true), JComponent.WHEN_IN_FOCUSED_WINDOW);
  panel.add(button);
  panel.add(checkbox);
  contentPane.add(panel, "Center");
  contentPane.add(southButton, "South");
}
}
class Listener implements ActionListener {
public void actionPerformed(ActionEvent e) {
  Object src = e.getSource();
  String cname = src.getClass().getName();
  if (src instanceof JCheckBox) {
  System.out.print("'f' key PRESSED when checkbox");
  System.out.println(" had focus");
  } else if (src instanceof JPanel) {
  System.out.print("'ALT-a' key PRESSED when ancestor");
  System.out.println(" of titled panel had focus");
  } else if (src instanceof JButton) {
  System.out.print("'w' key RELEASED when any");
  System.out.println(" component in window had focus");
  }
  System.out.println("Source: " + cname);
  System.out.println();
}
}

时间: 2024-11-01 01:26:51

java的键盘事件的相关文章

java登录enter键盘事件没有反应。。。。

问题描述 java登录enter键盘事件没有反应.... 按了enter之后,登录之后的窗口没有弹出来??这是为什么??大神们请教一下? 解决方案 调试一下,看是哪一步错了 解决方案二: enter的键码应该是13吧?

Java图形化编程中的键盘事件设计简介_java

键盘事件的事件源一般丐组件相关,当一个组件处于激活状态时,按下.释放或敲击键盘上的某个键时就会发生键盘事件.键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器).实现KeyListener接口有3个: keyPressed(KeyEvent e):键盘上某个键被按下: keyReleased(KeyEvent e):键盘上某个键被按下,又释放: keyTyped(KeyEvent e):keyPressed和keyReleased两个方法的组合

java note (7) 键盘事件的2个模板程序

 下面我提供两个java中响应键盘事件的模板程序,供大家参考啦!程序中有注释,应该很容易明白吧! 下面这个程序实现的功能是:按键盘上的向上键,数字+100,按向下键,数字-100 import java.awt.*;import java.applet.Applet;import java.awt.Graphics;import java.awt.event.*; public class Test extends Applet implements KeyListener{ Label lab

java 点击按钮之后键盘事件无效

问题描述 startButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Frame.setVisible(false);GameJFramegame=newGameJFrame();game.setVisible(true);game.requestFocus();System.out.println(startButton.isFocusOwner());}}); 一个JFra

总结Selenium WebDriver中一些鼠标和键盘事件的使用

在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys 等类来

[JAVA100例]075、检测键盘事件

import java.applet.Applet; import java.awt.*; import java.awt.event.*; /** * <p>Title: 键盘检测</p> * <p>Description: 在applet使用键盘事件,检测键盘的动作.</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: KeyAd.java</p&g

java Gui编程 事件监听机制

1.     GUI编程引言     以前的学习当中,我们都使用的是命令交互方式:        例如:在DOS命令行中通过javac java命令启动程序.     软件的交互的方式:      1. 命令交互方式           图书管理系统     2. 图形交互方式     ava提供了专业的API用于开发图形用户界面     GUI--> Graphic  User   Interface      将要了解GUI API的框架结构,以及GUI组件以及组件之间的关系,容器和布局管理

控制台输出-在Eclipse控制台中监听用户的键盘事件

问题描述 在Eclipse控制台中监听用户的键盘事件 最近在用java编写模拟一个人力资源管理系统,是在控制台实现的.其中有某个功能需要用户输入日期.日期是年月日一起输入的,我想在用户输完年份之后,控制台自动为用户打印出一个短横杠帮助用户输入月份.但是前提是用户还没有按下回车.怎样在用户键盘输入的过程中监听到用户目前已经输入几个字符?有没有大神给点建议. 解决方案 http://www.codeweblog.com/%E5%9C%A8javascript%E4%B8%AD%E7%9B%91%E5

Python中使用PyHook监听鼠标和键盘事件实例_python

PyHook是一个基于Python的"钩子"库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台. 关于PyHook的使用,在它的官方主页上就有一个简单的教程,大体上来说,可以这样使用 # -*- coding: utf-8 -*- # 3import pythoncom 4import pyHook 5def onMouseEvent(e