当前位置:  技术问答>java相关

一点java awt程序的调试过程(烂人专栏,大牛莫进)还有问题呀

    来源: 互联网  发布时间:2015-05-06

    本文导语:  鄙人偶得一本《java2 图形设计 卷I:AWT》(英文名:Graphic java 1.2 Msatering the JFC Volume I: AWT(3rd edition)),遂 喜不自胜。又因要做图像处理类的毕业设计,故急不可待的敲入一个 例程,如下: ----------------------------...

鄙人偶得一本《java2 图形设计 卷I:AWT》(英文名:Graphic
java 1.2 Msatering the JFC Volume I: AWT(3rd edition)),遂
喜不自胜。又因要做图像处理类的毕业设计,故急不可待的敲入一个
例程,如下:
-----------------------------------------------------------
//Getimage.java
import java.applet.Applet;                     
import java.awt.*;                             
public class Getimage extends Applet{          

  public void init(){                          
  image=getImage(getCodeBase(),"xxx.gif");
  try{
     MediaTracker mt=new MediaTracker(this);
     mt.addImage(image,0);
     mt.waitForID(0);
     }
  catch(InterruptedException e){
     e.printStackTrace();
     }
  }
public void paint(Graphics g){
     g.drawImage(image,0,0,this);
     }
}
------------------------------------------------------------
接着执行:
c:jdk1.3binjavac -g c:sampleimageGetimage.java
却发现N个错误!!!(N=3),as following:
------------------------------------------------------------
c:Getimage.java:6: 不能解析符号
符号:变量 image
位置: 类 in Getimage
image=getImage(getCodeBase(),"xxx.gif");
^
e:Getimage.java:9:不能解析符号
符号:变量 image
位置:类 in Getimage
   mt.addImage(image,0);
               ^
e:Getimage.java:17:不能解析符号
符号:变量 image
位置:类 in Getimage
    g.drawImage(image,0,0,this);
                ^
3个错误
--------------------------------------------------------------
我发现全部是image的错误,然后赶紧查手册,发现要用image,必须导入
java.awt.Image类;于是添加一句"import java.awt.Image;"
再次调试,结果大失所望,依旧是:
--------------------------------------------------------------
c:Getimage.java:7: 不能解析符号
符号:变量 image
位置: 类 in Getimage
image=getImage(getCodeBase(),"xxx.gif");
^
e:Getimage.java:10:不能解析符号
符号:变量 image
位置:类 in Getimage
   mt.addImage(image,0);
               ^
e:Getimage.java:18:不能解析符号
符号:变量 image
位置:类 in Getimage
    g.drawImage(image,0,0,this);
                ^
3个错误
---------------------------------------------------------------
仔细观察,发现image没有被定义,于是将image=getImage(getCodeBase(),"xxx.gif");
前面添加Image,成为" Image image=getImage(getCodeBase(),"xxx.gif");"
再次调试,发现只有一个错误,如下:
e:Getimage.java:18:不能解析符号
符号:变量 image
位置:类 in Getimage
    g.drawImage(image,0,0,this);
1个错误
好高兴呀。再接再厉,发现还是image的错误,从"不能解析符号"这句话
可以看出,在paint()函数中,编译器仍旧不能识别image变量,所以估计
是当前image不是全局变量,所以动一番大手术。结果为:
---------------------------------------------------------------
import java.applet.Applet;
import java.awt.*;
import java.awt.Image;
public class Getimage extends Applet{
private Image image;
  public void init(){
  image=getImage(getCodeBase(),"xxx.gif");
  try{
     MediaTracker mt=new MediaTracker(this);
     mt.addImage(image,0);
     mt.waitForID(0);
     }
  catch(InterruptedException e){
     e.printStackTrace();
     }
  }
public void paint(Graphics g){
     g.drawImage(image,0,0,this);
     }
}
----------------------------------------------------------------
编译后没有错误,通过!然后再去掉"import.awt.Image;"语句,发现
照样可以通过编译,所以刚开始的时候判断是错误的,这里不是关键,
实际上"import java.awt.*;"已经将类"Image"导入。据此推测语句"
import java.applet.Applet;"完全可以改为:"import java.applet.*;"
,结果如我所想,照常通过。那照此类推,语句"import java.applet.*;"
完全可以改成"import java.*;"了,事实是这样的吗?测试了一下,问题
出来了,错误信息一大堆,大概的意思就是这个程序段中出现的所有的类
、变量、函数皆不能被识别。为什么呢?想不通,谁能替俺解答?100分
送上!

|
你想在 void(Graphic g) image, 不妨把 image 成全程变量. 
//Getimage.java
import java.applet.Applet;
import java.awt.*;
public class Getimage extends Applet{
   Image image;
  public void init(){
   Image image=getImage(getCodeBase(),"xxx.gif");
  try{
     MediaTracker mt=new MediaTracker(this);
     mt.addImage(image,0);
     mt.waitForID(0);
     }
  catch(InterruptedException e){
     e.printStackTrace();
     }
  }
public void paint(Graphics g){
     g.drawImage(image,0,0,this);
     }
}

|
关于import里的.*
打个比方说,
我认为可以看做类似树状结构,
xxx.*只能代表xxx树的下一级。
import xxxxx.*;只是包含一层里的所有类,但不再含类的子类
故import java.*;没有导入java.applete.Applete;
而import java.applete.*;则有。

|
no error!
see page-39,please!
sub of all code.
:->>

    
 
 

您可能感兴趣的文章:

  • 我是JAVA初手,在JBUILDER7中如何调试JAVA?
  • JAVA程序应该如何调试?
  • Java调试器 JDebugTool
  • Java这么热,大家都用在什么地方。JSP,WEB开发。还有其他吗? iis7站长之家
  • Java 调试工具 JSwat
  • 初学JAVA,用哪个软件来调试和编译程序?
  • 在java种怎样进行跟踪调试
  • java拦截/调试/安全测试工具 JavaSnoop
  • java程序如何调试?
  • 用EditPlus编Java程序,如何进行单步调试???
  • 请教各位高手: Java 程序怎么调试?
  • 什么软件的java调试环境好用?
  • 请问既会JAVA又会VC的大侠:JAVA调试时是否有类似于VC中的TRACE功能
  • java初级调试问题?
  • 弱智问题,大家见笑了,在JBuilder环境下怎样调试java程序呀,谢谢您!
  • 在那里可以下载一个java的调试工具eclipse?下完马上结贴
  • 哪位朋友有关于Java调试方面的资料?
  • 有在UNIX下调试JAVA程序经验的富有同情心的同人来帮我一把!呜呜呜!
  • 调试java内存泄漏的工具
  • JAVA 2 SDK 140的安装。调试????????????
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我没用过Java,请问各位大侠Java中除了/*...*/用作注释外,还有什么符号可用于注释符?
  • 哪里还有Think in java!答者给分,谢谢
  • 我要学习 java,但不知道java 最高版本是多少啊?我应学哪个版本好呢?还有那里有电子版的中文书籍下栽啊?谢谢
  • 我刚学java,想请教一下,我在文本中创建了一个接口,一个类,还有一个扩展类,保存为.java文件时,如何给文件名?
  • 介绍几本电子书还有,java的开发环境及测试环境在那下载
  • 请问在哪里下最新的JVM?还有,JAVA类库的帮助文档哪里有?
  • JavaMail , JMF , ... ,各位觉得最有用的Java库还有那些呢?
  • Java这么热,大家都用在什么地方。JSP,WEB开发。还有其他吗?
  • java中除Canvas类可以画图外,还有其它类吗?
  • javac对了,java还有错?怎么办?
  • 我用JBUILDER7。只有两三天,问:一个项目有一个welcomeapp.java ,还有一个是welcomappframe.java,请问那一是主表单,(即运行时,运行的
  • 刚开始学JAVA,想知道什么是J2EE,JSP,EJB,J2SE,JDBC的关,还有XML和java到底有什么关系
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 请教各位Java/JSP进行Web开发绘图(如股市实时曲线),除Applet外还有什么解决方案?
  • 请问除了http://java.sun.com/j2se/1.4/download.html外,哪里还有jdk1.4下载?
  • 请问各位,jdk1.3安装好以后该怎么用,还有就是,我如果用editplus该如何直接进行JAVA编译,谢谢
  • 请问在javabean,java和jsp代码中如何判断一个字符串是否数字,还有如何把string转换成int!!!高分请教!!!
  • 刚刚学java。用VJ++这个工具,我想知道还有什么可视化的开发工具?那个比较常用。
  • 我又碰到难题了!!!Apache + Tomcat 怎样配置才能支持ssl? 还有,怎样使java程序能够通过局域网代理访问外网?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3