java键盘监听源代码,java监听键盘按键

Java键盘监听事件(急啊!)

把你的代码按照你的意思改动了一下,应该可以满足你的要求:

公司主营业务:成都网站设计、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出呼图壁免费做网站回馈大家。

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class KeyEventDemo extends JFrame implements ActionListener, KeyListener {

JTextField txt1;

JButton btnOK;

JPanel pnlMain;

public KeyEventDemo() {

pnlMain = new JPanel();

setContentPane(pnlMain);

txt1 = new JTextField(10);

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

char c = e.getKeyChar();

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();

}

}

额,抽象类其实就是定义了一些接口但又没有去实现的类,这些类定义了接口等它的子类来实现,如果它的子类没有实现这些接口,那么这些子类也是抽象类。抽象类是不能用 new 的方式产生的。

你似乎问错了,应该问接口是啥子东西,接口是。。。。一大堆的东西好难策清楚,看看下面的链接吧,会受益良多的:

JAVA 键盘监听

this.addKeyListener(new KeyAdapter(){

public void keyPressed(KeyEvent e){

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

by = by+5;

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

by = by-5;

}

});

这里这样改就ok了,不过你这个程序还有好多问题呢。

public void paint(Graphics g){

g.drawImage(img2,0,0,this);

g.drawImage(img3,by,490,this);

g.drawImage(img,580,260,this);

repaint();

}

这里面还要加一个repaint();方法,要不看不出移动的,问题太多改不完,你问的问题我算是解决了,嘿嘿,给分吧,有什么问题可以hi我。

Java 代码,我想从键盘上实现监听,不知道哪里错了,按上下左右箭头实现重新绘图。

”仅有一个焦点组件能够接收KeyEvent。要使一个组件成为焦点组件,需要将属性isFocusable设置为true。“

-----------------------------------------

Ps:小细节,上下弄反了。y轴向下递增。

-----------------------------------------------------

修改方法之一见注释

package baidu;

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

public class MyGraphics3 extends JFrame{    

public static void main(String[] args){

new MyGraphics3(100,100);

}

public MyGraphics3(int x,int y){

MGraphics3 mg = new MGraphics3(x, y);

mg.setFocusable(true);       //设置为焦点组件!!!

add(mg);

//add(new MGraphics3(x,y));

setVisible(true);

setLocation(500,350);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(300,300);

}

}

class MGraphics3 extends JPanel{

private int x,y;

public MGraphics3(int x,int y){

this.x = x;

this.y = y;

addKeyListener(new Monitor3());

}

public void paint(Graphics g){

super.paint(g);

g.setColor(Color.BLUE);

g.fillOval(x,y,10,10);

}

public void move(int a,int b){

x += a;

y += b;

repaint();

}

class Monitor3 extends KeyAdapter{

public void keyPressed(KeyEvent e){

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

move(0,5);

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

move(0,-5);

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

move(5,0);

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

move(-5,0);

}else{

System.out.println("ERROR!!!");

move(0,0);

}

}

}

}


新闻名称:java键盘监听源代码,java监听键盘按键
文章起源:http://azwzsj.com/article/hsogih.html