代码测试问题

chump345 2009-11-03 10:39:33

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class KeyboardPanel extends JPanel implements KeyListener{
int x = 100,y = 100;
char keyChar = 'A';
public KeyboardPanel(){
addKeyListener(this);
}
public void keyReleased(KeyEvent e){ }
public void keyTyped(KeyEvent e){ }
public void keyPressed(KeyEvent e){
switch(e.getKeyCode()){
case KeyEvent.VK_DOWN: y += 10;break;
case KeyEvent.VK_UP: y -= 10;break;
case KeyEvent.VK_LEFT: x -= 10;break;
case KeyEvent.VK_RIGHT: x += 10;break;
default:keyChar=e.getKeyChar();
}
repaint();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setFont(new Font("TimesRoman",Font.PLAIN,32));
g.drawString(String.valueOf(keyChar),x,y);
}
}
public class KeyEventDemo extends JFrame{
KeyboardPanel kp=new KeyboardPanel();
public KeyEventDemo()
{
setContentPane(kp);
kp.requestFocus(); //获得面板的焦点
setSize(300,400);
setVisible(true);
}

public static void main(String[] args) {
new KeyEventDemo();
}
}


这是课件上的一个例题~
当运行这段代码后~
按上下键` 都会让Frame中的字母发生移动`
但是我运行这段代码却一点反应都没有`
有人能告诉我为什么么?
...全文
49 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luocheng0123 2009-11-03
  • 打赏
  • 举报
回复
顶,来晚了
closewbq 2009-11-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bawgiitx 的回复:]
Java codepublic KeyEventDemo() {
setContentPane(kp);
kp.requestFocus();//获得面板的焦点 setSize(300,400);

setVisible(true);this.addKeyListener(kp);//加这一句就行了 }
[/Quote]
很好- -!
yuzhangchen 2009-11-03
  • 打赏
  • 举报
回复
没有捕获到键盘事件,楼上方法可以。
bawgiitx 2009-11-03
  • 打赏
  • 举报
回复

public KeyEventDemo() {
setContentPane(kp);
kp.requestFocus(); //获得面板的焦点
setSize(300, 400);

setVisible(true);

this.addKeyListener(kp);//加这一句就行了
}
bawgiitx 2009-11-03
  • 打赏
  • 举报
回复
先抢位,再找问题

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧