public class aaa {
public static void main(String[] args)
{
bbb b=new bbb();
b.setVisible(true);
b.setSize(400, 400);
}
}
class bbb extends JFrame
{
bbb()
{
draw d=new draw();
add(d);
}
}
class draw extends JComponent
{
public void paintComponent(Graphics g)
{
Graphics2D g2=(Graphics2D) g;
Ellipse2D rect=new Ellipse2D.Double();
rect.setFrameFromCenter(50,50,70,70);
g2.draw(rect);
g2.setPaint(Color.blue);
g2.fill(rect);
}
}
其實,我知道這個程序會生成一個框架,並繪製矩形內橢圓... 我唯一的問題是,當將方法「的paintComponent(圖形g^)「被調用... ,我知道它是」JComponent「內部的一個方法,但是什麼時候會調用...請給出一個簡單的解釋......我不能讓下面的程序,請解釋
還有一個問題是這樣的。 ..它的參數類型爲「Graphics」....但它沒有爲類「Graphics」創建對象,那麼我們怎樣才能調用它的方法(類「Graphics」中的方法)..
我知道這是一個愚蠢的問題,但我知道我在概念中遺漏了一些東西...
這不是一個愚蠢的問題,但它顯示的是,你錯過了一些教程,解釋這一點和更多。請從這裏開始:[課程:執行自定義繪畫](http://docs.oracle.com/javase/tutorial/uiswing/painting/index.html)。更多細節可以在這裏找到:[在AWT和Swing中繪畫](http://www.oracle.com/technetwork/java/painting-140037.html)。做Swing圖形通常需要採用不同的編碼方式和思維方式,打破一些預先設想的概念,因爲圖形通常是被動地完成的。檢查教程,你不會後悔這樣做。 –
http://docs.oracle.com/javase/tutorial/uiswing/painting/closer.html –