本帖最后由 peng19911027 于 2012-04-02 16:57:42 编辑

解决方案 »

  1.   

    这本书我没看过。是这样的,paint(Graphics g)和paintComponent(Graphics g)是由虚拟机生成的相关AWT绘图线程自动调用的,每当组建外观发生变化时这些方法都会被调用,一般程序如需要重绘(刷新)组件则只需调用repaint()方法,此方法会最终调用paint(Graphics g)和paintComponent(Graphics g)。不过由于特殊的需要,比如我们需要再组件中绘制一些原来没有的东西(图像,线条等等),则需要重写paint(Graphics g)或paintComponent(Graphics g)方法就可以了,如你最后一个例子所示。
      

  2.   

    (4)不太理解绘图机制,paint、paintComponent、repaint方法不会灵活运用,不理解,只能跟着例子走你可以吧,这些代码先注释掉,运行一下看看效果,然后再解开注释再运行一次,比较一下。呵呵