请教一个java问题,急!

来源:百度知道 编辑:UC知道 时间:2024/06/28 00:41:52
import java.awt.*;
import java.awt.event.*;
class MyCanvas extends Canvas
{
Boy police;
int left=-1,right=-1;
int x=-1,y=-1;
MyCanvas()
{
police=new Boy(this);
setSize(200,200);
setBackground(Color.pink);
addMouseListener(police);
validate();
}
}

class Boy extends MouseAdapter
{
MyCanvas f;
public Boy(MyCanvas f)
{
this.f=f;
}
public void mousePressed (MouseEvent e)
{
f.x=e.getX();
f.y=e.getY();
if(e.getModifiers()==InputEvent.BUTTON1_MASK)
{
f.left=1;

f.right=-1;
f.repaint();
}
else if(e.getModifiers()==InputEvent.BUTTON3_MASK)
{
f.right=1;

f.left=-1;
f.repaint();
}
}
public void paint(Graphics g)
{
if(f.left==1)
{
g.drawS

//我改了一下,你把里面对象调用的来龙去脉搞清楚.
//想问题简单点,不要那么复杂
import java.awt.*;
import java.awt.event.*;

class MyCanvas extends Canvas {
Boy police;

int left = -1, right = -1;

int x = -1, y = -1;

MyCanvas() {
police = new Boy(this);
setSize(200, 200);
setBackground(Color.pink);
addMouseListener(police);
validate();
}

public void paint(Graphics g) {
if (left == 1) {
g.drawString("按下了鼠标左键", x, y);
} else if (right == 1) {
g.drawString("按下了鼠标右键", x, y);
}
}

}

class Boy extends MouseAdapter {
MyCanvas f;

public Boy(MyCanvas f) {
this.f = f;
}

public void mousePressed(MouseEvent e) {
f.x = e.getX();
f.y = e.getY();
if (e.getModifiers() == InputEvent.BUTTON1_MASK) {
f.left = 1;
f.right = -1;
} else if (e.getModifiers()