FileDocCategorySizeDatePackage
ListClass.javaAPI DocExample1580Thu Mar 04 09:48:02 GMT 2004org.cookbook.ch08

ListClass.java

package org.cookbook.ch08;

import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;

public class ListClass {

	public static void main (String [] args) {
		Display display = new Display ();
		Shell shell = new Shell (display);
		shell.setText("List Example");
		shell.setSize(300, 200);

		final List list = new List (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
		list.setBounds(40, 20, 220, 100);
		for (int loopIndex = 0; loopIndex < 9; loopIndex++){ 
		    list.add("Item Number " + loopIndex);
		}
		
		final Text text = new Text(shell, SWT.BORDER);
		text.setBounds(60, 130, 160, 25);
		
		list.addSelectionListener(new SelectionListener()
		{
		   public void widgetSelected(SelectionEvent event)
		   {
				int [] selectedItems = list.getSelectionIndices ();
				String outString = "";
				for (int loopIndex = 0; loopIndex < selectedItems.length; 
                       loopIndex++) outString += selectedItems[loopIndex] + " ";
				text.setText("Selected Items: " + outString);
		   }

		   public void widgetDefaultSelected(SelectionEvent event)
		   {
			int [] selectedItems = list.getSelectionIndices ();
			String outString = "";
			for (int loopIndex = 0; loopIndex < selectedItems.length; loopIndex++) 
                  outString += selectedItems[loopIndex] + " ";
			System.out.println ("Selected Items: " + outString);
		   }
		});

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