您的位置:

java键盘事件,java键盘事件获取按键字符

本文目录一览:

java 键盘事件不响应.新手求助 求大佬.

你的Java程序键盘事件不响应,是因为当前的焦点不在MyPanel上.

解决办法,在MyPanel类的langchJp函数里最后加一句this.requestFocus();就行了.

因为其它的地方不变,所以我这里就给出MyPanel类的langchJp函数更改后的代码,改动的地方见注释.

 public void langchJp ()

 {

  new Re().start();

  this.addKeyListener(this);

  this.requestFocus();//这里加一句

 }

JAVA 键盘事件触发问题

你没有API吗?下面是java API对KeyEvent的解释: getKeyChar 方法总是返回有效的 Unicode 字符或 CHAR_UNDEFINED。KEY_TYPED 事件报告字符输入:KEY_PRESSED 和 KEY_RELEASED 事件不必与字符输入关联。因此, 可以保证 getKeyChar 方法的结果只对 KEY_TYPED 事件有意义。 对于按下键和释放键事件,getKeyCode 方法返回该事件的 keyCode。对于键入键事件,getKeyCode 方法总是返回 VK_UNDEFINED。 “按下键”和“释放键”事件 是低级别事件,依赖于平台和键盘布局。只要按下或释放键就生成这些事件,它们是发现不生成字符输入的键(如动作键、修改键等等)的惟一方式。通过 getKeyCode 方法可指出按下或释放的键,该方法返回一个虚拟键码。 虚拟键码 用于报告按下了键盘上的哪个键,而不是一次或多次键击组合生成的字符(如 "A" 是由 shift + "a" 生成的)。 例如,按下 Shift 键会生成 keyCode 为 VK_SHIFT 的 KEY_PRESSED 事件,而按下 'a' 键将生成 keyCode 为 VK_A 的 KEY_PRESSED 事件。释放 'a' 键后,会激发 keyCode 为 VK_A 的 KEY_RELEASED 事件。另外,还会生成一个 keyChar 值为 'A' 的 KEY_TYPED 事件。 按下和释放键盘上的键会导致(依次)生成以下键事件: KEY_PRESSED KEY_TYPED(只在可生成有效 Unicode 字符时产生。) 但在某些情况下(例如,在激活自动重复或输入方法时),该顺序可能会有所不同(并且与平台有关)。

Java 程序实现鼠标点击 键盘等事件

这个用MouseListener里的mouseEntered(MouseEvent

e)方法。

鼠标进入区域就产生事件反应。

如果之前申明了点击事件可以在entered时间里呼叫clicked事件。

java中如何处理键盘事件?

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Example6_12 extends JFrame implements KeyListener

{

JButton b[]=new JButton[3];

int x,y;

public Example6_12()

{

setSize(300,300);

setVisible(true);

setLayout(new FlowLayout());

for(int i=0;i=2;i++)

{

b[i]=new JButton(" "+i);

b[i].addKeyListener(this);

add(b[i]);

}

validate();

}

public void KeyPressed(KeyEvent e)

{

JButton button=(JButton)e.getSource();

x=button.getBounds().x;

y=button.getBounds().y;

if(e.getKeyCode()==KeyEvent.VK_UP)

{

y=y-2;

if(y=0)

y=300;

button.setLocation(x,y);

}

else if(e.getKeyCode()==KeyEvent.VK_DOWN)

{

y=y+2;

if(y=300)

y=0;

button.setLocation(x,y);

}

else if(e.getKeyCode()==KeyEvent.VK_LEFT)

{

x=x-2;

if(x=0)

x=300;

button.setLocation(x,y);

}

else if(e.getKeyCode()==KeyEvent.VK_RIGHT)

{

x=x+2;

if(x=300)

x=0;

button.setLocation(x,y);

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

        public void keyPressed(KeyEvent e){}

public static void main(String[] args)

{

Example6_12 win=new Example6_12();

win.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

}