我在java中使用了两个类class1
和class2
,它们都在不同的包中。 class2
中定义了paintComponent()
和test()
。我按以下顺序从class1调用这些方法..
objclass2.repaint()
objclass2.test()
objclass2.repaint()
但我不知道为什么test()
先被执行。接下来执行repaint()
..加上第二个repaint()
不会全部执行..为什么会这样?
修改
for(int i=0;i<170;i++)
{
az.animate(i);
try {
Thread.sleep(160);
} catch (InterruptedException ee) {
ee.printStackTrace();
}
}
animate method(): -
pd.setCurrentAltitudeScaleValue(val);
azl.update();
azl.repaint();
并且在azl.paintComponent()
我正在绘制一些东西..每次for
循环执行时都会调用animate方法,但它不会再次调用repaint()
..意味着{ {1}}方法仅在一次又一次调用repaint
时被调用..
答案 0 :(得分:1)
我认为你的意思是paintComponent()表现出你提到的行为。请记住:
如果程序的设计确实依赖于调用paintCompoent()的顺序,那么我建议你选择不同的设计。