2016-12-02 68 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或图形的构造是这样的:

这不是一个构造函数。您正在向“方法”传递“参数”。

相关问题