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 implements ActionListener { List lt; TextArea tx; /******************/ /* コンストラクタ */ /******************/ Win (String name, String data) { // Frameクラスのコンストラクタ(Windowのタイトルを引き渡す) super(name); // レイアウトの変更(行,列,水平ギャップ,垂直ギャップ) setLayout(new GridLayout(2, 1, 5, 10)); // 上のパネル Font f1 = new Font("MS 明朝", Font.PLAIN, 20); // パネルの追加 Panel pn1 = new Panel(); pn1.setLayout(new GridLayout(2, 1, 5, 10)); add(pn1); // ラベルの追加 Label lb = new Label("好きな果物は?"); lb.setFont(f1); pn1.add(lb); // リスト処理の追加 lt = new List(2, true); lt.setFont(f1); lt.add("蜜柑"); lt.add("林檎"); lt.add("柿"); lt.add("苺"); lt.add("桃"); lt.select(2); pn1.add(lt); lt.addActionListener(this); // 下のパネル Font f2 = new Font("MS 明朝", Font.BOLD, 20); // パネルの追加 Panel pn2 = new Panel(); add(pn2); // テキストエリアの追加 tx = new TextArea(6, 25); tx.setFont(f2); pn2.add(tx); // Windowの大きさ setSize(350, 400); // ウィンドウを表示 setVisible(true); // イベントアダプタ addWindowListener(new WinEnd()); } /******************************/ /* 上,左,下,右の余白の設定 */ /******************************/ public Insets getInsets() { return new Insets(35, 10, 10, 10); } /************************/ /* 選択された項目の処理 */ /************************/ public void actionPerformed(ActionEvent e) { int i1; if (e.getSource() == lt) { tx.setText("選択項目\n"); for (i1 = 0; i1 < lt.getItemCount(); i1++) { if (lt.isIndexSelected(i1)) { tx.append(" 項目: " + lt.getItem(i1) + "\n"); tx.append(" インデックス: " + Integer.toString(i1) + "\n"); } } } } /************/ /* 終了処理 */ /************/ class WinEnd extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } }