項目選択時はItemListenerクラスのitemStateChangedメソッドが発生します。
項目ダブルクリック時はActionListenerクラスのActionEventが発生します。
package MyPackage1; import java.awt.*; import java.awt.event.*; public class ListSample { /* * エントリーポイント */ public static void main(String args[]){ new ListSample(); } Frame frm; List lst1; Label lbl1; /* * コンストラクタ */ public ListSample(){ //フレームを作成します。 frm = new Frame("ListSample"); frm.setSize(300,300); frm.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent ev){ System.exit(0); } }); //リストを作成します。 lst1 = new List(); //複数選択可能に設定します。 lst1.setMultipleMode(true); //リストに項目を追加します。 lst1.add("Brue"); lst1.add("Red"); lst1.add("Green"); lst1.add("Black"); lst1.add("White"); lst1.addItemListener(new lst1ItemAdapter()); //ラベルを作成します。 lbl1 = new Label(); //フレームにレイアウトを設定します。 frm.setLayout(new GridLayout(2,1)); //フレームにコンポーネントを追加します。 frm.add(lbl1); frm.add(lst1); //フレームを表示します。 frm.setVisible(true); } /* * lst1のItemListener */ private class lst1ItemAdapter implements ItemListener{ @Override public void itemStateChanged(ItemEvent e) { String selectedStr = ""; for (int idx=0; idx < lst1.getItemCount(); idx++){ if (lst1.isIndexSelected(idx)){ selectedStr += String.valueOf(idx) + ":" + lst1.getItem(idx) + " "; } } lbl1.setText(selectedStr); } } }
0 件のコメント:
コメントを投稿