我目前正在學習Swing,並且遇到了一個心理障礙。我知道什麼時候我想繪製一個JPanel,我需要調用paintComponent方法。我已經閱讀了幾個邏輯不應該位於paintComponent塊內的地方。如果我想要一個定時器來確定什麼時候被繪製,我不需要從另一個類的另一個方法調用paintComponent並且創建該類的一個實例,該類還擴展了paintComponent中的JPanel?將邏輯集成到paintComponent中
我想我試圖避免的,是下面...
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(blah,blah,blah);
if(timesUP==true){
paintSomethingElse(g);
}
repaint();
}
相反,我得到的印象,我應該對if語句的邏輯來創造一個完全不同的方法,並以某種方式從油漆單獨的方法。
我不理解什麼?
這已經被專門回答了嗎?我無法找到一個答案,這有助於我真正理解如何有效地將兩者分開,從而允許在同一個JPanel上繪製多個圖形。
你想畫一些動畫?或者你想每隔一段時間用一個定時器改變圖像?你究竟想要做什麼? – 2014-09-19 07:24:48