键盘事件java
Ⅰ java如何全局监听键盘事件
java提供了两个事件侦听接口用来管理鼠标移动和键盘动作,分别是MouseMotionListener和KeyListener,可以用它们来捕捉鼠标和键盘,这两个侦听器都有很大的限制:鼠标监听只有在鼠标位于Java程序所在的窗口范围之内才能有效,而键盘监听限制更严格,仅当Java程序成为当前的活动窗口时才有效。很显然,单纯用Java来实现全屏幕、所有程序鼠标和键盘的话动是不行的。
Ⅱ 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中如何处理键盘事件
添加键盘监听事件
如:
this.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
int key = e.getKeyCode();//得到键盘输入的值
if(key==KeyEvent.VK_Q){//如果键盘输入的是Q
System.exit(0);//强行关闭当前进程
}
Ⅳ JAVA键盘事件
//改了很多,方法有点不同
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MainPanel extends JFrame
{
ImageIcon image;
int x = 100, y = 0;
int moveY = 10;
JLabel jp;
public MainPanel()
{
setPreferredSize(new Dimension(300, 300));
setSize(300,300);
image = new ImageIcon("src/abc.gif");
jp=new JLabel(image);
getContentPane().add(jp);
jp.setBounds(50, 50, 90, 90);
addKeyListener(new K());
setVisible(true);
}
private class K implements KeyListener
{
public void keyPressed(KeyEvent event)
{
if(event.getKeyCode()==KeyEvent.VK_UP)
{
x = 1;
jp.setBounds(100, 100, 90, 90);
}
else if(event.getKeyCode()==KeyEvent.VK_DOWN)
{
x = -1;
jp.setBounds(0, 0, 90, 90);
}
}
public void keyTyped(KeyEvent event)
{
}
public void keyReleased(KeyEvent event)
{
}
}
public static void main(String[] args)
{
MainPanel m=new MainPanel();
m.pack();
}
}
Ⅳ java键盘事件问题
这个问题出在你的条件上,字符串的比较你要仔细了,在字符串与字符串的比较中,”==“是比较是不是同一个对象,TA1.getText()
==
"简单工厂",这样当然不是一个对象,你要用equals()来比较它们的值才合适,因为两个条件都不符合,所以只能跳到else里边。
Ⅵ java中的键盘事件
请问你的键盘时间事某个特定按钮还是要监听键盘按下的键呢~?我都给你列在下面吧!如果事特定的按钮我给你个例子!其实用的就是一句话!JFrame.getRootPane.setDefaultButton(new JButton()) ;就可以啦!意思是 取跟面板然后设置默认按钮就可以了! 如果你事要监听单个的键盘按钮的话就这样~~~~例子如下!:你看懂这个代码就明白了!package IO;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class KeyEventDemo extends JFrame implements ActionListener, KeyListener {
JTextArea txt1;
JButton btnOK;
JPanel pnlMain;
public KeyEventDemo() {
pnlMain = new JPanel();
setContentPane(pnlMain);
txt1 = new JTextArea();
btnOK = new JButton("确认");
txt1.addKeyListener(this); //应该是在 TextField 里添加键盘监听事件
btnOK.addActionListener(this);//在按钮上添加事件监听
pnlMain.setLayout(new BorderLayout());//添加布局器
pnlMain.add(txt1,BorderLayout.NORTH); //TextField 布局在上方
pnlMain.add(btnOK,BorderLayout.SOUTH); //Button 布局在下方
setTitle("好啊");
setSize(300, 200);
setVisible(true);//viersible() 函数应该放在最后
setDefaultCloseOperation(EXIT_ON_CLOSE);
} public void keyTyped(KeyEvent e) { //6
String c = e.paramString();
if (c == "o") {
System.out.println("快捷键 " + e.getKeyChar() + " 按下" );
txt1.setText("收到,呵呵");
}else{
System.out.println("普通键 " + e.getKeyChar() + " 按下" );
}
}
public void actionPerformed(ActionEvent event){
System.out.println("按钮按下");
} public void keyPressed(KeyEvent e) {} //函数要和接口 KeyListener 中定义的一摸一样 public void keyReleased(KeyEvent e) {} //函数要和接口 KeyListener 中定义的一摸一样 public static void main(String[] args) {
new KeyEventDemo();
}
}
Ⅶ Java 程序实现鼠标点击 键盘等事件
这个用MouseListener里的mouseEntered(MouseEvent
e)方法。
鼠标进入区域就产生事件反应。
如果之前申明了点击事件可以在entered时间里呼叫clicked事件。
Ⅷ 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 字符时产生。) KEY_RELEASED 但在某些情况下(例如,在激活自动重复或输入方法时),该顺序可能会有所不同(并且与平台有关)。
以上回答你满意么?
Ⅸ java键盘事件响应过程是什么,具体怎么写
implements KeyListener
事件
void keyPressed(KeyEvent e)
按下某个键时调用此方法。
void keyReleased(KeyEvent e)
释放某个键时调用此方法。
void keyTyped(KeyEvent e)
键入某个键时调用此方法。
Ⅹ 编写java键盘事件的程序
import java.awt.*;
import java.awt.event.*;
public class KeyEventDemo extends Frame implements KeyListener
{
Label l1 = new Label();
Panel p = new Panel();
public void keyPressed(KeyEvent e)
{
l1.setText("key down");
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){
l1.setText("key up");
}
public KeyEventDemo(String title){
super(title);
p.add(l1);
add(p);
this.addKeyListener(this);
setSize(200,100);
setVisible(true);
this.requestFocus(true);
}
public static void main(String[] agrs)
{
new KeyEventDemo("KeyEvent中的案件实例");
}}自己运行一下。