2016-12-02 70 views
0

每個教程中,我已經場景畫一個圓圈把Graphics2DGraphics在構造是這樣的:如何在構造函數中使用Graphics2D類調用方法?

public void drawCircle (Graphics2D g){ 

} 

但後來似乎有沒有辦法來調用此方法,因爲你不能滿足的參數。 這裏有什麼:

drawCircle(?); 

謝謝。

+0

當然你可以調用它:'drawCircle((Graphics2D)null)'是調用它的很多方法之一。但請注意,這不是一個構造函數。 –

+0

@AndyTurner爲什麼需要演員? – Maroun

+0

它可能不是。也許有'void drawCircle(Graphics)'方法,你需要消除歧義。我只是說有很多方法可以調用它。 –

回答

0

但後來似乎有沒有辦法來調用這個方法

這是正確的。你不應該直接調用該方法。該方法只能從Swing繪畫方法中調用,該方法可以訪問當前有效的Graphics對象。

每個教程中,我已經場景繪製一個圓提出的Graphics2D或圖形的構造是這樣的:

是,那麼你需要閱讀整個教程,以瞭解該方法的上下文應該被使用,而不僅僅是教程中的幾行。

基本的代碼會是這樣的:

public class CirclePanel extend JPanel 
{ 
    @Override 
    protected void paintCompnent(Graphics g) 
    { 
     super.paintComponent(g); 

     drawCircle(g); 
    } 

    private void drawCircle(Graphics g) 
    { 
     // do painting with Graphics object 
    } 
} 

注意我如何改變方法簽名,以「私人」。這將強制該方法不應該從外部類中調用。

提出的Graphics2D或圖形的構造是這樣的:

這不是一個構造函數。您正在向「方法」傳遞「參數」。

相關問題