項目選択時は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 件のコメント:
コメントを投稿