2013-12-12 112 views
0

我的程序詢問用戶他們想繪製多少圓,並根據用戶輸入繪製N個嵌套圓。到目前爲止我的代碼如下:故障繪圖嵌套圓

import javax.swing.*; 
import java.awt.*; 
public class DrawCircles extends JFrame { 

DrawCircles(){ 
    add(new Circle()); 
} 

public static void main(String[] args) { 
    String number = JOptionPane.showInputDialog(null, "Please enter the number of circles you wish to display"); 
    int circles = Integer.parseInt(number); 
    DrawCircles d = new DrawCircles(); 
    d.setTitle("Nested Circles"); 
    d.setSize(500, 500); 
    d.setVisible(true); 
    d.setLocation(200,200); 

}//end main method 




}//end class 

class Circle extends JPanel{ 
public void paint(Graphics g){ 
    g.drawOval(135, 125, 200, 200); 
}//end paint() 
}//end class 

我不知道如何採取從main方法的用戶輸入,並使用它在一個for循環畫圓的N量。此外,我必須調整我的JFrame大小,以適應所有人的圈數,我也不知道該怎麼做。提前致謝。

回答

1

首先不是覆蓋paint,而是使用paintComponent,並確保您在打電話時致電super.paintComponent。請參閱Performing custom painting瞭解更多詳情。

簡單地傳遞circles值作爲參數向Circle類的構造和/或提供一個setter以改變值