的構造很簡單,一旦你瞭解它。請務必將類構造函數命名爲與您的類相同的名稱。通常,你想創建私有變量來分配構造函數的輸入。在這種情況下,我們創建了私有的int x,y,w和h,以在我們的構造函數中分配輸入的int x,int y,int w和int h。在繪製時,我們就在Graphics2D對象把我們需要的形狀,點等
public class className{
//Creating object properties
private int x, y, w, h;
//Class Constructor
public className(int x, int y, int w, int h){
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}
//For drawing, you want to take in a Graphics2D Object (g2)
public void draw(Graphics2D g2){
g2.drawOval(x, y, w, h);
}
}
在主類或任何你的paintComponent是,使用你的構造你鍵入:
className objectName = new className(100, 200, 300, 400);
該代碼創建一個名爲「objectName」的名稱爲「objectName」的新對象,其中x爲100,y爲200,w,300,h爲400.要調用繪圖函數,只需鍵入:
objectName.draw(g2); //Where g2 is some Graphics2D object
在你的情況下會有什麼'g'?既然你已經發現了一些代碼/知識,爲什麼你沒有徹底閱讀它? 'g.drawOval(x,y,w,h);'屬於組件的(可能是面板)'paint(Graphics g)'方法。 – Thomas
@Thomas我認爲你的意思是'paintComponent(Graphics g)'方法,而不是'paint'一個... – Frakcool
@Frakcool你可以重寫它們,但是'paintComponent(...)'可能是更好的。 :) – Thomas