線・円を描画(paintComponent)

/*
 * 線と円でパンダを表示するクラス
 */
package draw;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class DrawPanda {
	private JFrame frame;

	public DrawPanda() {
		frame = new JFrame();

		frame.setTitle("ここにタイトル");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setBounds(0, 0, 200, 200);

		// 以下で宣言したパネルクラスをフレームに追加する処理。
		// getContentPane()はフレームのパネルを呼び出している。
		frame.getContentPane().add(new MyPanel_A());
		
		frame.setVisible(true);
	}

	public static void main(String args[]) {
		new DrawPanda();
	}
}

// JPanelを継承したクラスを作成。
// このパネルには、絵を描画するパネルを貼り付ける
class MyPanel_A extends JPanel {
	public MyPanel_A() {
		// この処理は、レイアウト処理で説明いたします
		setBounds(0, 0, 200, 200);
	}

	// ※絵など、グラフィックを表示するためのメソッド
	//   このメソッドは、明示的にパネルに表示することを
	// ※宣言しなくても自動でパネルに表示されます。
	// ※このメソッド内に、引数のGraphicsに対して描画する
	public void paintComponent(Graphics g) {
		super.paintComponent(g);

		// setColorは宣言以降に表示する物の
		// 色を定義する
		g.setColor(Color.BLACK);

		// 塗りつぶされた円を描画する
	        g.fillOval(45,35,40,40);
	        g.fillOval(115,35,40,40);

		g.setColor(Color.white);
	        g.fillOval(50,50,100,100);
	        g.setColor(Color.BLACK);
	        g.fillOval(60,70,35,35);
		g.fillOval(105,70,35,35);
		g.fillOval(95,100,10,10);

	        // 線を描画する
	        g.drawLine(100,105,100,125);
	        g.drawLine(75,125,125,125);
	}
}