線・円を描画(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);
}
}