2012-03-09 46 views

回答

2

Graphics2D是一個抽象類。如前所述here

抽象類是聲明爲abstract,它可能會或可能不會 包含抽象方法的類。抽象類不能實例化,但它們可以被分類。

從技術上講,它從不需要自己繪製任何東西。另一方面,當方法被聲明爲抽象的時候,這個類的創建者想要把這個方法的實現細節留給誰來擴展它。

所以基本上你不能做到這一點:

Graphics2D g = new Graphics2D(); 
g.draw(); 

但你可以這樣做:

public class MyClass extends Graphics2D 
{ 
    .... 
    @Override 
    void draw(Shape s) 
    { 
     //Draw your shape here in what ever way you want. 
    } 
} 

然後,你可以這樣做:

Graphics2D g = new MyClass(); 
g.draw(myShape); 
+0

@ npinti..Thanks爲你的信息..但我想知道如何繪製方法的作品例如..如果我喜歡: g2.draw(Rectangle r1); //其中g2是一個Graphics2D對象。 如何繪製方法實際繪製矩形? – 2012-03-10 08:04:40

+0

@PunitMehta:我從來沒有真正在圖形這個低級別工作,所以你將不得不自己研究這個。我發現這個Java類可能很有用。 http://www.javadocexamples.com/java_source/proguard/gui/splash/OverrideGraphics2D.java.html – npinti 2012-03-10 09:16:11