我写了个鼠标画图的程序,能通过编译,但运行出错,不知是什么原因,希望高手指点!兄弟我先谢了!
代码如下:import java.awt.Frame;
import java.awt.Button;
import java.awt.BorderLayout;
import java.awt.Color;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Container;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;
public class FrameTest //implements MouseListener
{
static int xPoit;
static int yPoit;
public static void main(String[] args)
{
Frame f=new Frame("实例窗口");
f.setSize(600,400);
f.setLocation(100,100);
f.setVisible(true);
f.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent emp)
{
xPoit=emp.getX();
yPoit=emp.getY();
System.out.println("按下");
}
public void mouseReleased(MouseEvent e)
{
Container app=new Container();
Graphics g=app.getGraphics();
System.out.println("拖动显示1");
g.drawOval(xPoit,yPoit,e.getX()-xPoit,e.getY()-yPoit);
System.out.println("拖动显示2");
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}}
代码如下:import java.awt.Frame;
import java.awt.Button;
import java.awt.BorderLayout;
import java.awt.Color;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Container;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;
public class FrameTest //implements MouseListener
{
static int xPoit;
static int yPoit;
public static void main(String[] args)
{
Frame f=new Frame("实例窗口");
f.setSize(600,400);
f.setLocation(100,100);
f.setVisible(true);
f.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent emp)
{
xPoit=emp.getX();
yPoit=emp.getY();
System.out.println("按下");
}
public void mouseReleased(MouseEvent e)
{
Container app=new Container();
Graphics g=app.getGraphics();
System.out.println("拖动显示1");
g.drawOval(xPoit,yPoit,e.getX()-xPoit,e.getY()-yPoit);
System.out.println("拖动显示2");
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}}
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;public class FrameTest extends Frame// implements MouseListener
{
static int xPoit; static int yPoit; static Graphics g; public FrameTest() { Frame f = new Frame("实例窗口");
f.setSize(600, 400);
f.setLocation(100, 100);
f.setVisible(true); g = f.getGraphics(); MouseAdapter1 adapter = new MouseAdapter1();
f.addMouseListener(adapter);
} public static void main(String[] args) { new FrameTest(); } class MouseAdapter1 extends MouseAdapter {
public void mousePressed(MouseEvent emp) {
xPoit = emp.getX();
yPoit = emp.getY();
System.out.println("按下");
} public void mouseReleased(MouseEvent e) {
System.out.println("拖动显示1");
g.drawOval(xPoit, yPoit, e.getX() - xPoit, e.getY() - yPoit);
System.out.println("拖动显示2");
}
}}
g.drawOval(xPoit, yPoit, e.getX() - xPoit, e.getY() - yPoit); 这句,
真搞不明白,这句怎么错了呢?这个方法中的各个参数都有值的,可以输出来啊,不好意思啊,本人刚学习,让大家见笑!
下面的那句没有执行。
Graphics 引用不对,import java.awt.Frame;
import java.awt.Button;
import java.awt.BorderLayout;
import java.awt.Color;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;public class FrameTest //implements MouseListener
{
static int xPoit;
static int yPoit;
static Graphics gh;
public static void main(String[] args)
{
Frame f=new Frame("实例窗口");
f.setSize(600,400);
f.setLocation(100,100);
f.setVisible(true);
gh=f.getGraphics();
f.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent emp)
{
xPoit=emp.getX();
yPoit=emp.getY();
System.out.println("按下");
}
public void mouseReleased(MouseEvent e)
{
System.out.println("拖动显示1");
gh.drawOval(xPoit,yPoit,e.getX()-xPoit,e.getY()-yPoit);
System.out.println("拖动显示2");
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}}
import java.awt.Button;
import java.awt.BorderLayout;
import java.awt.Color;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter; public class FrameTest //implements MouseListener
{
static int xPoit;
static int yPoit;
static Graphics gh;
public static void main(String[] args)
{ Frame f=new Frame("实例窗口");
f.setSize(600,400);
f.setLocation(100,100);
f.setVisible(true);
gh=f.getGraphics();
f.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent emp)
{
xPoit=emp.getX();
yPoit=emp.getY();
System.out.println("按下");
} public void mouseReleased(MouseEvent e)
{ System.out.println("拖动显示1");
gh.drawOval(xPoit,yPoit,e.getX()-xPoit,e.getY()-yPoit);
System.out.println("拖动显示2");
}
}); f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
} }); } }