关注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(以显示代码是否运行良好;我会立即看到它)
当我启动时:
etablir()
,打印“Etablir?”在System.out
true
所以,通过重新启动paintComponent(Graphics g)
进行重新绘制,是否有一种简单的方法?我确定我错过了一些简单的事情。