本帖最后由 dolonfly 于 2012-06-06 19:21:00 编辑

解决方案 »

  1.   

    没啥好办法,写之前,先用clearRect()函数把目标区域清空了。public void drawInfo(String info) {
      java.awt.FontMetrics fm=g2.getFontMetrics(); 
      int height=fm.getHeight();  // 计算字体高度
      int width=fm.stringWidth(s); // 计算字体宽度
      g2.clearRect(0, 10-height, width, height); // 清理区域
      ......
    }
      

  2.   

    另一种做法是,把图片放在底层JPanel背景,你画的时候画在上层的JPanel中,这样就不需要自己去重绘背景了。注意上层的JPanel需要设置透明。