求助:键盘监听事件,repaint方法没有重绘 本帖最后由 q1523987878 于 2012-02-13 18:57:28 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package com.demo;import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.*;/** * 功能:java事件处理机制 */@SuppressWarnings("serial")public class JFrameTest6 extends JFrame { //定义组件 JPanel mp = null; public static void main(String[] args) { new JFrameTest6(); } public JFrameTest6() { mp = new Rect(); this.add(mp); this.addKeyListener(mp); this.setSize(200,150); this.setLocation(500,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); }}@SuppressWarnings("serial")class Rect extends JPanel implements KeyListener{ int x = 10; int y = 10; public void paint(Graphics g) { super.paint(g); g.fillOval(x, y, 10, 10); System.out.println(x+":"+y); } public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_DOWN){ y++; System.out.println(y); }else if(e.getKeyCode()==KeyEvent.VK_UP){ y--; System.out.println(y); }else if(e.getKeyCode()==KeyEvent.VK_LEFT){ x--; System.out.println(x); }else if(e.getKeyCode()==KeyEvent.VK_RIGHT){ x++; System.out.println(x); } this.repaint(); } public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) {}}修改的地方:mp = new Rect(); this.add(mp); this.addKeyListener(mp);。 冒泡错误 求大家帮忙解决一个字符串匹配的问题 Swing的替代品有哪些? 如何打断一个正在顺序执行的线程 关于SWT的,请懂的大虾教教小弟 java表单与数据库操作问题(谢谢),帮忙分析一下 java对xml和web service的支持如何?? 请您分析这个架构,看看您能想多少???(千万别错过哟!!!) 在线等待,高分求救对话框的小问题 什么是ERP和MIS呀? 请教mina 数据转发问题 The method getMsg() from the type test1 is not visible
package com.demo;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
/**
* 功能:java事件处理机制
*/
@SuppressWarnings("serial")
public class JFrameTest6 extends JFrame {
//定义组件
JPanel mp = null;
public static void main(String[] args) {
new JFrameTest6();
}
public JFrameTest6() {
mp = new Rect();
this.add(mp);
this.addKeyListener(mp);
this.setSize(200,150);
this.setLocation(500,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
@SuppressWarnings("serial")
class Rect extends JPanel implements KeyListener{
int x = 10;
int y = 10;
public void paint(Graphics g) {
super.paint(g);
g.fillOval(x, y, 10, 10);
System.out.println(x+":"+y);
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_DOWN){
y++;
System.out.println(y);
}else if(e.getKeyCode()==KeyEvent.VK_UP){
y--;
System.out.println(y);
}else if(e.getKeyCode()==KeyEvent.VK_LEFT){
x--;
System.out.println(x);
}else if(e.getKeyCode()==KeyEvent.VK_RIGHT){
x++;
System.out.println(x);
}
this.repaint();
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
}
修改的地方:mp = new Rect();
this.add(mp);
this.addKeyListener(mp);
。