SampleCanvas sample;
//课本上解释为samplecanvas重定义canvas类,这样我们就可以在程序中进行重画--简单的canvas不能这样工作.
         从canvas类继承,以便实现自己的功能。sample.rewrite(fname);//课本上解释为调用rewrite()来更新canvasrepaint()不能更新布局
        rewrite是samplecanvas的方法,从程序上看是在canvas上写字,并没有对布局有新的影响。public samplecanvas()
 {rewrite("sansserif");//课本上解释为这是有new samplecanvas()指令来执行的
    程序在创建对象时自动调用构建器,这里是个构建器,当然调用rewrite()public void rewrite(string s)//这里rewrite(string s) 
     这里是samplecanvas 的一个方法。repaint()
   从新绘制canvas可能这个例子有点问题,应该调用设备现场graphics,不过没看到全部程序。个人意见。

解决方案 »

  1.   

    inflames(inflames) 
    你对该程序意思基本上都理解了,厉害
    由于我自己也是初学,很多都不理解
    SampleCanvas sample;
    //课本上解释为samplecanvas重定义canvas类,这样我们就可以在程序中进行重画--简单的canvas不能这样工作.
             从canvas类继承,以便实现自己的功能。
    *可否说通俗点?*
    sample.rewrite(fname);//课本上解释为调用rewrite()来更新canvasrepaint()不能更新布局
            rewrite是samplecanvas的方法,从程序上看是在canvas上写字,并没有对布局有新的影响。
    *后面有g.drawstring()显示字,那这个有什么用呢?*
    public samplecanvas()
     {rewrite("sansserif");//课本上解释为这是有new samplecanvas()指令来执行的
        程序在创建对象时自动调用构建器,这里是个构建器,当然调用rewrite()还不知道构建器是什么东西,能通俗的解释一下吗?它存在的作用是什么?
      

  2.   

    我倒!
    继承、构建器是面向对象编程的基本知识,你找本书看看,一两句话说不清楚。
    简单的说,canvas(画布)上没有东西,你从canvas继承,就可以在上面画画,写字(as your will,make it sure)。构建器是你在创建对象(samplescanvas test=new samplescanvas(...))时,该对象应该具有的特点,因为是系统自动调用,初始时所需要的东西都填在里面。
    至于g.drawstring,好象应该在public void pain(Graphics g)里调用。对canvas而言这个方法也是自动调用的,所以应该是这样的。
    public void rewrite(Graphics g)
    {
        .....
        g.drawstring("....");
        .....
    }
    public void paint(Graphics g)
    {
       ....
       rewrite(g);
       ....
    }
    这是我的想法,你的程序没有贴全,所以也不知道正确与否。
      

  3.   

    真的,简易楼主应该专门看看java的基础知识,上面这些都讲的很清楚地
      虽然我也是新手一个
      

  4.   

    谢谢了
    还要继续努力ing!!