java问题
打叉的地方出错,把hautu改成继承frame就对了,为什么??publicclasshautu/*extendsFrame*/implementsMouseMotion...
打叉的地方出错,把hautu改成继承frame就对了,为什么??
public class hautu /*extends Frame*/implements MouseMotionListener {
static int x1,y1,x2,y2;
public static void main(String arg[])
{
/////hautu f=new hautu();
Frame f=new Frame();
f.setTitle("绘图");
f.setBounds(50,50,300,300);
f.addMouseListener(new mouse());
xxxxxxxxf.addMouseMotionListener(f);
f.setVisible(true);
}
static class mouse extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
x1=e.getX();
y1=e.getY();
}
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
x2=e.getX();
y2=e.getY();
xxxxxxGraphics g=getGraphics();
g.drawLine(x1, y1, x2, y2);
x1=x2;
y1=y2;
}
@Override
public void mouseMoved(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
这样就对了 为什么???继承了frame就对了 为什么啊
public class hautu extends Frame implements MouseMotionListener {////////////////
static int x1,y1,x2,y2;
public static void main(Stringarg[])
{
hautu f=new hautu();
f.setTitle("绘图");
f.setBounds(50,50,300,300);
f.addMouseListener(new mouse());
f.addMouseMotionListener(f);
f.setVisible(true);
} 展开
public class hautu /*extends Frame*/implements MouseMotionListener {
static int x1,y1,x2,y2;
public static void main(String arg[])
{
/////hautu f=new hautu();
Frame f=new Frame();
f.setTitle("绘图");
f.setBounds(50,50,300,300);
f.addMouseListener(new mouse());
xxxxxxxxf.addMouseMotionListener(f);
f.setVisible(true);
}
static class mouse extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
x1=e.getX();
y1=e.getY();
}
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
x2=e.getX();
y2=e.getY();
xxxxxxGraphics g=getGraphics();
g.drawLine(x1, y1, x2, y2);
x1=x2;
y1=y2;
}
@Override
public void mouseMoved(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
这样就对了 为什么???继承了frame就对了 为什么啊
public class hautu extends Frame implements MouseMotionListener {////////////////
static int x1,y1,x2,y2;
public static void main(Stringarg[])
{
hautu f=new hautu();
f.setTitle("绘图");
f.setBounds(50,50,300,300);
f.addMouseListener(new mouse());
f.addMouseMotionListener(f);
f.setVisible(true);
} 展开
2个回答
展开全部
f.addMouseListener(f);
你报错的位置是这样的,那对 f 有要求啊,必须是一个容器,而且还必须实现 MouseMotionListener 接口,没继承框架就只是一个鼠标监听类,怎么怎么去添加鼠标监听方法?
你报错的位置是这样的,那对 f 有要求啊,必须是一个容器,而且还必须实现 MouseMotionListener 接口,没继承框架就只是一个鼠标监听类,怎么怎么去添加鼠标监听方法?
更多追问追答
追问
这个问题已经知道了,现在纠结的这个怎么不对呢??
Graphics g=getGraphics();
g.drawLine(x1, y1, x2, y2);
为什么错啊
追答
Graphics g=getGraphics();这一句等同于Graphics g=this.getGraphics();,当你没有继承Frame的时候,this 只是一个MouseMotionListener 实例,又怎么会有 getGraphics()方法呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询