当前位置: 代码迷 >> Java相关 >> 我把书上的一个程序改了一下,但是运行不出那种效果来了,是哪里的错误?
  详细解决方案

我把书上的一个程序改了一下,但是运行不出那种效果来了,是哪里的错误?

热度:95   发布时间:2006-03-21 12:22:00.0
我把书上的一个程序改了一下,但是运行不出那种效果来了,是哪里的错误?
这个程序要实现的功能:鼠标按下去的位置作为起始点,鼠标释放是的位置作为终止点,并在鼠标释放时画线。

原程序:
import java.awt.*;
import java.awt.event.*;
public class DrawLine
{
Frame f=new Frame("IT人资讯交流网");
public static void main(String []args)
{
new DrawLine().init();
}
public void init()
{
f.setSize(300,300);
f.setVisible(true);
f.addMouseListener(new MouseAdapter()
{
int orgx;
int orgy;
public void mousePressed(MouseEvent e)
{
orgx=e.getX();
orgy=e.getY();
}
public void mouseReleased(MouseEvent e)
{
Graphics g=f.getGraphics();
g.setColor(Color.red);
g.drawLine(orgx,orgy,e.getX(),e.getY());
}

});
}
}


我改后的程序:

import java.awt.*;
import java.awt.event.*;
public class DrawLine extends MouseAdapter
{
private Frame f;
private Graphics g;
private int orgx;
private int orgy;
public DrawLine()
{
f=new Frame("IT人资讯交流网");
f.setSize(300,300);
f.setVisible(true);
f.addMouseListener(this);
}
public void mousePressed(MouseEvent e)
{
orgx=e.getX();
orgy=e.getY();
}
public void mouseRleased(MouseEvent e)
{
g=f.getGraphics();
g.setColor(Color.red);
g.drawLine(orgx,orgy,e.getX(),e.getY());
}
public static void main(String args[])
{
new DrawLine();
}
}

谁能告诉我,我改的程序哪里有错,谢谢!
----------------解决方案--------------------------------------------------------
public void mouseReleased(MouseEvent e)
你的程序里面打错了字
public void mouseRleased(MouseEvent e)
还有,程序最好不要这样写,这样写灵活性太小了
并且出现这种情况你编译的时候都发现不了
但是如果是implements MouseListener的话,就不会出现这种情况了
如果出错,编译将通不过
----------------解决方案--------------------------------------------------------
  相关解决方案