2010-11-21 63 views
2

我使用getGraphics和drawLine和fillOval命令繪製到JPanel上,但運行該程序時非常令人費解。但是,當我調試它時,它每次都會繪製。繪製的圖像不保留在屏幕上

draw.drawPoints(drawing.getGraphics(), xCoord, yCoord); 

電話:

public void drawPoints (Graphics g, int x, int y){ 
    g.setColor(Color.red); 
    g.fillOval(x, y, 5, 5); 
} 

編輯:它不會總是吸引。大部分時間都保持空白。

+1

你是什麼意思的「氣質」呢?究竟發生了什麼? – 2010-11-21 17:27:18

回答

3

我使用的getGraphics

繪製到一個JPanel,你不應該從drawing.getGraphics()得到一個Graphics對象畫上了JPanel東西。

相反,您應該重寫paintComponent(Graphics g)方法並在那裏進行繪畫。

一個簡單的例子,讓你開始:

container.add(new JPanel() { 
    public void paintComponent(Graphics g) { 
     drawPoints(g, xCoord, yCoord); 
    } 
}); 
0

每次對象被重新繪製時都需要這樣做。