Inhaltsverzeichnis

Die Anleitung zu Java SWT List

View more Tutorials:

1- SWT List

SWT List ist eine Schnittstelle, es bezeichnet die Liste der Elemente (List-item) als String und genehmigt dem Benutzer, ein oder viele Elemente zu wäheln
Notiz: SWT List ist eine gewöhnliche Interface in einer Applikation. Aber SWT List hat einige folgende Beschränkungen
  • SWT List enthaltet nur die Element (List Item) mit der String-Style.
  • Die List-Item können die Icon nicht anzeigen
Um die oben gemeinten Beschränkungen zu überwinden, können Sie SWT Table statt  SWT List.benutzen
Die Style können für  SWT List:angewendet werden
  1. SWT.BORDER
  2. SWT.MULTI:  ein oder viele List Item wählen können
  3. SWT.SINGLE: maximal nur ein Item wählen.
  4. SWT.V_SCROLL: vertikale Bildlaufleiste zeigen
  5. SWT.H_SCROLL: horizontale Bildlaufleiste zeigen

2- Das Beispiel mit SWT List

ListDemo.java
package org.o7planning.swt.list;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.RowData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;

public class ListDemo {

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

       RowLayout layout = new RowLayout(SWT.VERTICAL);
       layout.spacing = 10;
       layout.marginHeight = 10;
       layout.marginWidth = 10;

       shell.setLayout(layout);

       // Create a List
       // (Allows selecte multiple lines and display vertical scroll bar.).
       final List list = new List(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
       list.setLayoutData(new RowData(240, 100));

       list.add("Apple");
       list.add("Apricot");
       list.add("Banana");
       list.add("Carrot");
       list.add("Cherry");
       list.add("Courgette");
       list.add("Endive");
       list.add("Grape");

       Label label = new Label(shell, SWT.NONE);
       label.setLayoutData(new RowData(240, SWT.DEFAULT));

       list.addSelectionListener(new SelectionAdapter() {

           @Override
           public void widgetSelected(SelectionEvent event) {
               int[] selections = list.getSelectionIndices();
               String outText = "";
               for (int i = 0; i < selections.length; i++) {
                   outText += selections[i] + " ";
               }
               label.setText("You selected: " + outText);
           }

       });

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

}

View more Tutorials: