java里mouselistener的问题

一个椭圆,一个长方形。鼠标可以拖动。拖动过的物体按键盘任意键可以随机变颜色。问下为什么鼠标和键盘都不好使.importacm.program.*;importacm.ut... 一个椭圆,一个长方形。鼠标可以拖动。拖动过的物体按键盘任意键可以随机变颜色。

问下为什么鼠标和键盘都不好使.

import acm.program.*;
import acm.util.RandomGenerator;
import acm.graphics.*;
import java.awt.event.*;

public class A extends GraphicsProgram{

public void init(){
GRect rect = new GRect(100,200,100,200);
rect.setFilled(true);
add(rect);
GOval oval = new GOval(10,400,100,200);
oval.setFilled(true);
add(oval);
addMouseListeners();
addKeyListeners();
}

public void MousePressed(MouseEvent e){
last = new GPoint(e.getPoint());
gobj = getElementAt(last);
}

public void MouseDragged(MouseEvent e){
if(gobj != null){
gobj.move(e.getX() - last.getX(),e.getY() - last.getY());
last = new GPoint(e.getPoint());
}
}

public void KeyPressed(KeyEvent e){
if(gobj != null){
gobj.setColor(rgen.nextColor());
}
}

private GObject gobj;
private GPoint last;
private RandomGenerator rgen = RandomGenerator.getInstance();
}
展开
 我来答
B2K1bonPplR
2013-09-19 · TA获得超过2049个赞
知道小有建树答主
回答量:1156
采纳率:72%
帮助的人:392万
展开全部

1、MousePressed改为mousePressed,小写的m。

2、MouseDragged改为mouseDragged,小写的m。

3、KeyPressed改为keyPressed,小写的k。

import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import acm.graphics.GObject;
import acm.graphics.GOval;
import acm.graphics.GPoint;
import acm.graphics.GRect;
import acm.program.GraphicsProgram;
import acm.util.RandomGenerator;
public class A extends GraphicsProgram {
  public void init() {
    GRect rect = new GRect(100, 200, 100, 200);
    rect.setFilled(true);
    add(rect);
    GOval oval = new GOval(10, 400, 100, 200);
    oval.setFilled(true);
    add(oval);
    addMouseListeners();
    addKeyListeners();
  }
  public void mousePressed(MouseEvent e) {
    last = new GPoint(e.getPoint());
    gobj = getElementAt(last);
  }
  public void mouseDragged(MouseEvent e) {
    if (gobj != null) {
      gobj.move(e.getX() - last.getX(), e.getY() - last.getY());
      last = new GPoint(e.getPoint());
    }
  }
  public void keyPressed(KeyEvent e) {
    if (gobj != null) {
      gobj.setColor(rgen.nextColor());
    }
  }
  private GObject gobj;
  private GPoint last;
  private RandomGenerator rgen = RandomGenerator.getInstance();
}
匿名用户
2013-09-10
展开全部
GraphicsProgram
对键盘,要求是可接收焦点的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
折如波kW
2013-09-10 · 贡献了超过113个回答
知道答主
回答量:113
采纳率:0%
帮助的人:46万
展开全部
看上去真的不错啊》
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式