| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 369 人关注过本帖
标题:[讨论][原创]大家进来指点一下
只看楼主 加入收藏
apang_007
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-10-21
收藏
 问题点数:0 回复次数:0 
[讨论][原创]大家进来指点一下

import java.awt.*;
import java.awt.event.*;
import java.util.*;

class draw extends Frame
{
int begX = 0;
int begY = 0;
int endX = 0;
int endY = 0;
draw(String name)
{
super(name);
this.addWindowListener
(
new WindowAdapter()
{

public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);

this.addMouseListener
(
new MouseAdapter()
{


public void mousePressed(MouseEvent e)
{
begX = e.getX();
begY = e.getY();
}

public void mouseReleased(MouseEvent e)
{
Graphics gra = getGraphics();//放在这里可以
endX = e.getX();
endY = e.getY();
gra.drawLine(begX,begY,endX,endY);
}
}
);
}

public static void main(String [] args)throws Exception
{
draw f = new draw("hehe");
f.setSize(400,400);
f.setVisible(true);
}
}

这个程序的功能是在窗口上划线,这样写是对的,为什么我把上面的窗口声明语句:"Graphics gra = getGraphics();"放到外面定义,在编译的时候不会出错,但是运行的时候,鼠标一点击就会出来一大堆异常?
变成以下的就会报异常

import java.awt.*;
import java.awt.event.*;
import java.util.*;

class draw extends Frame
{
int begX = 0;
int begY = 0;
int endX = 0;
int endY = 0;
draw(String name)
{
super(name);
this.addWindowListener
(
new WindowAdapter()
{

public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);

this.addMouseListener
(
new MouseAdapter()
{

Graphics gra = getGraphics();//放到这里就不行
public void mousePressed(MouseEvent e)
{
begX = e.getX();
begY = e.getY();
}

public void mouseReleased(MouseEvent e)
{

endX = e.getX();
endY = e.getY();
gra.drawLine(begX,begY,endX,endY);
}
}
);
}

public static void main(String [] args)throws Exception
{
draw f = new draw("hehe");
f.setSize(400,400);
f.setVisible(true);
}
}

2006-02-12 10:22
快速回复:[讨论][原创]大家进来指点一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032991 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved