2013-07-01 32 views
1

我創建一個對象(GPolygon),將它添加到畫布上,然後旋轉它,然後我想重置旋轉,以便返回到開始位置。我查看acm頁面,並且有一個名爲clear()的方法,但我無法訪問它,因爲它是受保護的。 來自http://www-cs-faculty.stanford.edu/~eroberts//jtf/javadoc/complete/acm/graphics/GPolygon.html#clear()的文本Java如何從acm使用clear()?

如何在此對象上使用clear()方法? 這裏是我的多邊形代碼: Java

GPolygon patrat=new GPolygon(30,30); 
    patrat.setFilled(true); 
    patrat.setColor(Color.RED); 
    patrat.addVertex(0, 0); 
    patrat.addEdge(20, 0); 
    patrat.addEdge(0,20); 
    add(patrat); 
    patrat.rotate(10); 

謝謝!

回答

0

當你想重置旋轉時,你可以調用patrat.rotate(-10)。

通常,您使用受保護的clear()方法的方式是通過繼承(即MyClass extends GPolygon等)。

+0

是的,但我舉一個簡單的例子,我的程序在任何鼠標移動都採用不同的角度,我不能(我認爲)實現這個角度。關於擴展我allready myclass加入GraphicProgram,我不得不做另一個類? –

+0

您可以在程序開始時將初始旋轉存儲在變量中嗎?然後,你可以調用patrat.rotate(startrot);當你想重置旋轉。 – Olivia

+0

無法看到代碼,我不知道你應該如何改變你現有的程序來包含GPolygon的繼承。我將創建一個類(例如MyPolygon extends GPolygon),它將定義您的程序中的特定行爲(即旋轉,顏色等)。然後,可以將MyPolygon實例化爲擴展GraphicProgram的類中的對象。希望這有助於/有道理! – Olivia