我們忽略這樣爲什麼調用「repaint()」而不是直接調用Applet中的「paint(..)」?
public void paint(Graphics g)
{
g.drawString(msg,xpos,ypos);
}
paint方法如果我們有另一種方法可以說,到mousePressed事件方法
public void mousePressed(MouseEvent me)
{
xpos=me.getX(); // msg, xpos and ypos are variables of class
ypos= me.getY();
msg="You pressed mouse";
repaint();
}
爲什麼不能我們調用paint (Graphics g)
而非repaint()
?
簡短回答:因爲那樣會在錯誤的時間或可能在錯誤的線程中調用(並且沒有適當的圖形)。 – 2012-08-07 02:57:03
當我們平常覆蓋它時,我們只給出圖形類的實例,沒有其他的東西,爲什麼不合適的圖形?0 – Nil 2012-08-07 02:58:31
Graphics對象必須由JVM本身在平臺/操作系統的幫助下準備和交付。你不能只是試着當場做一個。 – 2012-08-07 03:04:57