トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

List

リストボックス(List)はComboによく似たAPIを持っています。コンストラクタの引数で単一選択or複数選択、スクロールバーやボーダーの有無を指定することができます。

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

public class ListSample1 {
  public static void main(String[] args){
    Display display = new Display ();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    shell.setText("List Sample1");
    // 単一選択のリスト
    List list1 = new List(shell,SWT.SINGLE|SWT.BORDER|SWT.V_SCROLL);
    list1.add("Item1");
    list1.add("Item2");
    list1.add("Item3");
    // 複数選択可能なリスト
    List list2 = new List(shell,SWT.MULTI|SWT.BORDER|SWT.V_SCROLL);
    list2.add("Item1");
    list2.add("Item2");
    list2.add("Item3");
    
    shell.pack();
    shell.open();

    while (!shell.isDisposed ()){
      if (!display.readAndDispatch ()){
        display.sleep ();
      }
    }
    display.dispose ();
  }
}

以下にListの代表的なメソッドの使用例を示します。

// 要素の数を取得
int itemCount = list.getItemCount();

// 最初の要素を取得
String item = list.getItem(0);

// 全ての要素を取得
String[] items = list.getItems();

// 選択されている要素数を取得
int selectedCount = list.getSelectedCount();

// 指定したインデックスの要素が選択されているか調べます
boolean select = list.isSelected(1);

// 選択されている要素を取得
String[] selectedItems = list.getSelection();

// 最初の要素を削除
list.remove(0);

// 指定したインデックスを新しい要素で置換
list.setItem(3,"New Item");

// 0、1、2番目の要素を削除
int index = {0,1,2};
list.remove(index);

// 0〜2番目の要素を削除
list.remove(0,2);

// Item1を削除
list.remove("Item1");

// 全ての要素を削除
list.removeAll();

最終更新時間:2005年11月25日 00時41分26秒