import java.awt.*; import java.awt.event.*; public class Test { public static void main (String[] args) { Win win = new Win("Test Window", "Test Data"); } } /*******************/ /* クラスWinの定義 */ /*******************/ class Win extends Frame { /******************/ /* コンストラクタ */ /******************/ Win (String name, String data) { // Frameクラスのコンストラクタ(Windowのタイトルを引き渡す) super(name); // レイアウトの変更(行,列,水平ギャップ,垂直ギャップ) setLayout(new GridLayout(2, 1, 5, 10)); // 上のパネル Panel pn1 = new Panel(); add(pn1); // 下のパネル(描画) Panel pn2 = new Draw(); pn2.setBackground(Color.cyan); // バックグラウンド色 add(pn2); // Windowの大きさ setSize(200, 200); // ウィンドウを表示 setVisible(true); // イベントアダプタ addWindowListener(new WinEnd()); } /************/ /* 終了処理 */ /************/ class WinEnd extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } } /**************/ /* 描画パネル */ /**************/ class Draw extends Panel { public void paint (Graphics g) { g.drawRect(40, 15, 50, 50); // 正方形 g.fillRect(100, 15, 50, 50); // 塗りつぶした正方形 } }