用缓冲法,你的问题是经典applet问题,很多书上专门有章节讲!;-(

解决方案 »

  1.   

    哪本书上有阿?
    推荐译本好不好
    网上有没有电子版的?
    以前是做application的,一点儿都不懂applet.
    突然来画这些东西,一点儿都摸不到头脑呢。
    请多指教阿
      

  2.   

    http://www.csdn.net/expert/topic/178/178730.shtm
    这是画图得问题,不是applet特有的
      

  3.   

    可以不要双缓冲.一般来说用橡皮带技术就可以了:
      也就是说在画一个图形的过程中,会出现许多不定的中间图形,可以及时看到图形的外观以便于调整.当然这些中间图形需要搽掉.
      在搽除这些中间图形时不需要调用repaint()函数,因为MouseDrag事件或者MouseMove事件发生频率比较高,而paint()函数执行速度非常慢(要更新整个clip),所以会发生闪烁.
      解决的办法是在处理MouseDrag事件函数中设置Graphics 为g.setXORMode(getBackground()); 并把上次MouseDrag事件发生时所化的图形再画一遍:g.drawXX(oldShape);接下来才画现在的图形:g.drawXX(nowShape);
      真正后画上一个图形是在处理MouseReleased事件函数中:
    g.setPaintModeColor.black).drawXX(nowShape);