paintComponent()有些麻烦

时间:2012-05-28 23:09:14

标签: java graphics paintcomponent

关注a previous message, 我有另一个问题(多么新手)。

我有一个班级Fenetre,其中包含以下代码(及更多):

@Override
public void paintComponent(Graphics g) {
        super.paintComponent(g);
        if(!init)
        {
            afficher= new Afficher(g);
            init = true;
        }
         g.setColor(Color.white);
         g.fillRect(0, 0, 1000, 500);

         if(lol)afficher.setMapOne(2,2,6);
         System.out.println("paintComponent : "+lol);

         afficher.checkChanges(g);
}

public void setLol(boolean n)
{
    lol = n;
    System.out.println("setLol : "+lol);
}

在我的校长课程中,GameEngine

public void etablir(String secondWord)
    {
          System.out.println("Etablir ?");
          fenetre.setLol(true);
          fenetre.repaint();
    } 

这很简单,但让我解释一下:

afficher.checkChanges(g);检查地图(目标是绘制等距地图),像short[][]这样的表格,并显示它。

if(lol)afficher.setMapOne(2,2,6); 在GRAY中设置地图的某个部分,而不是BROWN(以显示代码是否运行良好;我会立即看到它)

当我启动时:

  1. 地图出现了,很棒。
  2. 我写“etablir”,它启动方法etablir(),打印“Etablir?”在System.out
  3. lol设置为true
  4. ......就是这样。没有重绘,没有重新绘制组件,没有更新地图。
  5. 所以,通过重新启动paintComponent(Graphics g)进行重新绘制,是否有一种简单的方法?我确定我错过了一些简单的事情。

0 个答案:

没有答案