リストボックス(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秒