import java.awt.*; import java.awt.event.*; public class Test { public static void main (String[] args) { Win win = new Win("Test Window"); } } class Win extends Frame { Win (String name) { // Frameクラスのコンストラクタ(Windowのタイトルを引き渡す) super(name); // Windowの大きさ setSize(200, 300); // レイアウトの変更(水平,垂直ギャップ) GridBagLayout gbl = new GridBagLayout(); setLayout(gbl); GridBagConstraints cs = new GridBagConstraints(); // パネルの定義 Panel pn1 = new Panel(); pn1.setBackground(Color.cyan); Panel pn2 = new Panel(); pn2.setBackground(Color.green); Panel pn3 = new Panel(); pn3.setBackground(Color.pink); // レイアウト // 1行目 cs.fill = GridBagConstraints.BOTH; // ギャップを詰める cs.weightx = 4.0; // 幅の調整 cs.weighty = 10; // 高さの調整 gbl.setConstraints(pn1, cs); add(pn1); cs.weightx = 1.0; // 幅の調整 cs.gridwidth = GridBagConstraints.REMAINDER; // この行の最後 gbl.setConstraints(pn2, cs); add(pn2); // 2行目 cs.weighty = 2; // 高さの調整 cs.gridwidth = GridBagConstraints.REMAINDER; // この行の最後 gbl.setConstraints(pn3, cs); add(pn3); // ウィンドウを表示 setVisible(true); // イベントアダプタ addWindowListener(new WinEnd()); } /******************************/ /* 上,左,下,右の余白の設定 */ /******************************/ public Insets getInsets() { return new Insets(35, 10, 10, 10); } /************/ /* 終了処理 */ /************/ class WinEnd extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } }