本文目录一览:
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);
}
}