<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://javawiki.sowas.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://javawiki.sowas.com/feed.php">
        <title>Java Wiki swt-jface</title>
        <description></description>
        <link>http://javawiki.sowas.com/</link>
        <image rdf:resource="http://javawiki.sowas.com/lib/images/favicon.ico" />
       <dc:date>2023-09-14T23:20:11+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:asyncexec&amp;rev=1618481946&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:autocompletefield&amp;rev=1370342783&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:button&amp;rev=1451999814&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:canvas-transparent&amp;rev=1286432972&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:ccombo-focus&amp;rev=1452082967&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:clabel-icon&amp;rev=1286433008&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:colors&amp;rev=1318591247&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:control-decoration&amp;rev=1318591289&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:dialog&amp;rev=1318591310&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:display&amp;rev=1452501787&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:draw-image&amp;rev=1286432949&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:draw-on-image&amp;rev=1318591362&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:filedialog&amp;rev=1318591267&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:fire-event&amp;rev=1318591324&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:formheading&amp;rev=1318591337&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:group&amp;rev=1579723180&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:image-stream&amp;rev=1286432932&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:imageregistry&amp;rev=1326963569&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:layout&amp;rev=1452070464&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:list&amp;rev=1318591413&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:messagebox&amp;rev=1318591423&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:multirowtable&amp;rev=1261067966&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:section-toolbar&amp;rev=1318591438&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:setcursor&amp;rev=1318591258&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:swt-browser&amp;rev=1259533830&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:swt-jface&amp;rev=1544701712&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:tabel-activate-celleditor&amp;rev=1261068043&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:tabfolder-tabitem&amp;rev=1261067826&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:table-cellbackground&amp;rev=1261068068&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:table-disable-scrollbar&amp;rev=1465292389&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:table-images&amp;rev=1318591477&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:table-selection&amp;rev=1261067995&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:table-sort&amp;rev=1261068024&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:table&amp;rev=1318591450&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:text-tab-focus&amp;rev=1579723180&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:text-user-drawn&amp;rev=1261067795&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:traverslistener&amp;rev=1544701887&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:tree&amp;rev=1261067776&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:treetableviewer&amp;rev=1370936133&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:treeviewer&amp;rev=1579723182&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swt-jface:viewerfilter&amp;rev=1261067704&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://javawiki.sowas.com/lib/images/favicon.ico">
        <title>Java Wiki</title>
        <link>http://javawiki.sowas.com/</link>
        <url>http://javawiki.sowas.com/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:asyncexec&amp;rev=1618481946&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-15T12:19:06+02:00</dc:date>
        <title>swt-jface:asyncexec</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:asyncexec&amp;rev=1618481946&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Display.asyncExec(Runnable runnabled)



Verlagt den Code innerhalb der run-Methode in den UI-Tread (entspricht dem Main-Thread).









getShell().getDisplay().asyncExec(new Runnable() {
   public void run() {
      // Hier kann der auszuführende Code stehen...
   }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:autocompletefield&amp;rev=1370342783&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-04T12:46:23+02:00</dc:date>
        <title>swt-jface:autocompletefield</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:autocompletefield&amp;rev=1370342783&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.jface.fieldassist.AutoCompleteField

Die JFace-Klasse AutoCompleteField(..) für ein einfaches Textfield kann beispielsweise so verwendet werden:



Text textField = new Text();
String[] str = {&quot;Ananas&quot;, &quot;Apfel&quot;, &quot;Banane&quot;, &quot;Birne&quot;, &quot;Kiwi&quot;, &quot;Pflaume&quot; };
new AutoCompleteField(textField, new TextContentAdapter(), str);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:button&amp;rev=1451999814&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-01-05T14:16:54+02:00</dc:date>
        <title>swt-jface:button</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:button&amp;rev=1451999814&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Button




Button myButton = new Button(composite, &quot;Klick mich&quot;, SWT.PUSH);  // composite = parent
myButton.addSelectionListener(new SelectionAdapter() {
   @Override
   public void widgetSelected(SelectionEvent e) {
      System.out.println(&quot;Autsch&quot;);
   }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:canvas-transparent&amp;rev=1286432972&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-10-07T08:29:32+02:00</dc:date>
        <title>swt-jface:canvas-transparent</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:canvas-transparent&amp;rev=1286432972&amp;do=diff</link>
        <description>Java - SWT/JFace









Canvas canvas = new Canvas(shell, SWT.NO_BACKGROUND);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:ccombo-focus&amp;rev=1452082967&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-01-06T13:22:47+02:00</dc:date>
        <title>swt-jface:ccombo-focus</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:ccombo-focus&amp;rev=1452082967&amp;do=diff</link>
        <description>Java - SWT/JFace



Wenn einer CCombo ein KeyListener angehängt wird, funktioniert die Focus-Weiterleitung mit den Tasten Tab und Shift-Tabe nicht mehr. Folgende Lösung beseitigt das Problem zumindest unter Windows weitgehend (eine Anpassung für andere Systeme sollte möglich sein; lediglich Shift-Tab funktioniert nicht perfekt):</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:clabel-icon&amp;rev=1286433008&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-10-07T08:30:08+02:00</dc:date>
        <title>swt-jface:clabel-icon</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:clabel-icon&amp;rev=1286433008&amp;do=diff</link>
        <description>Java - SWT/JFace



Ein Label mit einem Icon und einem Text:









public void createControl(Composite parent) {
   super.createControl(parent);
   Composite body = getManagedForm().getForm().getBody();
   CLabel myLabel = new CLabel(body, SWT.FLAT);
   myLabel.setText(&quot;Hallo&quot;);
   Image image = new Image(Display.getCurrent(), getClass().getClassLoader().getResourceAsStream(&quot;icons/hallo.png&quot;));
   myLabel.setImage(image);
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:colors&amp;rev=1318591247&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:20:47+02:00</dc:date>
        <title>swt-jface:colors</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:colors&amp;rev=1318591247&amp;do=diff</link>
        <description>Java - SWT/JFace



Einmal als vorhandene Systemfarbe:




 setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_CYAN));








oder als frei definierte Farbe:




 setBackground(new Color(Display.getCurrent(), 250, 250, 250));
 // oder:
 setBackground(new Color(null, 250, 250, 250));</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:control-decoration&amp;rev=1318591289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:21:29+02:00</dc:date>
        <title>swt-jface:control-decoration</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:control-decoration&amp;rev=1318591289&amp;do=diff</link>
        <description>Java - SWT/JFace













public void createPartControl(Composite parent) {
   GridLayout gl = new GridLayout(1, false);
   gl.marginRight = 6;  // Um Platz für die Decoration zu schaffen
   parent.setLayout(gl);
   Text text = new Text(parent, SWT.BORDER);
   GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
   text.setLayoutData(gd);
	   
   Image image = FieldDecorationRegistry.getDefault()
                       .getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).getI…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:dialog&amp;rev=1318591310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:21:50+02:00</dc:date>
        <title>swt-jface:dialog</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:dialog&amp;rev=1318591310&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.jface.dialogs.Dialog








Das Beispiel zeigt einen einfachen Dialog mit einem Titel, welcher ein Label und ein Text-Feld enthält:




public class MyDialog extends Dialog {
   private Label label;
   private Text text;

   protected MyDialog(Shell parentShell) {
      super(parentShell);
   }
   
   @Override
   protected void configureShell(Shell shell) {
      super.configureShell(shell);
      shell.setText(&quot;MyTitle&quot;);  // Dialog-Titel setzen
   }

   @Overr…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:display&amp;rev=1452501787&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-01-11T09:43:07+02:00</dc:date>
        <title>swt-jface:display</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:display&amp;rev=1452501787&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Display








Das SWT Display-Objekt ist die Verbindung zum UI des Betriebssystems.



Eine Instanz von Display kann über sämtlicher Widgets bekommen werden:




Display display = myWidget.getDisplay();</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:draw-image&amp;rev=1286432949&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-10-07T08:29:09+02:00</dc:date>
        <title>swt-jface:draw-image</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:draw-image&amp;rev=1286432949&amp;do=diff</link>
        <description>Java - SWT/JFace









Image image = new Image(shell.getDisplay(), &quot;image.png&quot;);
Canvas canvas = new Canvas (shell, SWT.NONE);
canvas.addPaintListener (new PaintListener () {
   public void paintControl (PaintEvent e) {
      e.gc.drawImage(image, 0, 0);
   }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:draw-on-image&amp;rev=1318591362&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:22:42+02:00</dc:date>
        <title>swt-jface:draw-on-image</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:draw-on-image&amp;rev=1318591362&amp;do=diff</link>
        <description>Java - SWT/JFace








Das folgende Code-Beispiel gibt weißen Text auf dem Image aus:




Image image = new Image(shell.getDisplay(), &quot;image.png&quot;);
GC gc = new GC(image);
gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
gc.drawText(&quot;Mein Text&quot;, 0, 0, true);
gc.dispose();</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:filedialog&amp;rev=1318591267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:21:07+02:00</dc:date>
        <title>swt-jface:filedialog</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:filedialog&amp;rev=1318591267&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.FileDialog

Dialog zum Öffnen (SWT.OPEN) oder Speichern (SWT.SAVE) einer Datei.









FileDialog fd = new FileDialog(Display.getCurrent().getActiveShell(), SWT.OPEN);
fd.setFilterExtensions(new String[] {&quot;*.txt&quot;, &quot;*.*&quot;});
fd.setText(&quot;Datei öffnen&quot;);  
String strFile = fd.open();
if (strFile != null)
   ...</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:fire-event&amp;rev=1318591324&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:22:04+02:00</dc:date>
        <title>swt-jface:fire-event</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:fire-event&amp;rev=1318591324&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Event

Manchmal möchte man auch selber Events (KeyEvent) feuern.








Das folgende Beispiel simuliert einen Entfernen-Tastendruck in einem Textfeld:




Control myControl = new Text(...);
// Event für KeyDown:
Event e = new Event();
e.type = SWT.KeyDown;
e.keyCode = SWT.DEL;
e.widget = myControl;
Display.getCurrent().post(e);
// Event für KeyUp:
e = new Event();
e.type = SWT.KeyUp;
e.keyCode = SWT.DEL;
e.widget = myControl;
Display.getCurrent().post…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:formheading&amp;rev=1318591337&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:22:17+02:00</dc:date>
        <title>swt-jface:formheading</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:formheading&amp;rev=1318591337&amp;do=diff</link>
        <description>Java - SWT/JFace













FormToolkit formToolkit = managedForm.getToolkit();
formToolkit.decorateFormHeading(managedForm.getForm().getForm());
managedForm.getForm().setText(&quot;Titel&quot;);



Eclipse-Artikel</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:group&amp;rev=1579723180&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:40+02:00</dc:date>
        <title>swt-jface:group</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:group&amp;rev=1579723180&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Group.Group(Composite parent, int style)









Group group = new Group(this, SWT.NULL);
group.setText(&quot;MyGroupBox&quot;);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:image-stream&amp;rev=1286432932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-10-07T08:28:52+02:00</dc:date>
        <title>swt-jface:image-stream</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:image-stream&amp;rev=1286432932&amp;do=diff</link>
        <description>Java - SWT/JFace









InputStream in = getClass ().getResourceAsStream (&quot;/test.png&quot;);  //$NON-NLS-1$
if (in == null) {
   System.err.println (&quot;'test.png' not found.&quot;); //$NON-NLS-1$ 
   continue;
}
Image image = new Image(Display.getCurrent(), in);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:imageregistry&amp;rev=1326963569&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-19T09:59:29+02:00</dc:date>
        <title>swt-jface:imageregistry</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:imageregistry&amp;rev=1326963569&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.jface.resource.ImageRegistry

Bilder können in einer speziellen Map, der ImageRegistry abgelegt werden. Dadurch wird das mehrfache Laden von Bildern vermieden. Jedes Bild kann dann durch einen frei wählbaren Namen (im Beispiel: MyImage) verwendet werden.</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:layout&amp;rev=1452070464&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-01-06T09:54:24+02:00</dc:date>
        <title>swt-jface:layout</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:layout&amp;rev=1452070464&amp;do=diff</link>
        <description>Java - SWT/JFace



Mächte man ein Layout erzeugen, welches je nach Fensterbreite die Elemente nebeneinander oder untereinander anordnet, so ist die richtige Wahl das 
ColumnLayout



Möchte man nachträglich das Layout neu berechnen, so genügt ein Aufruf der Methode

pack(true)









Beispiel für ein Layout:





...und der dazugehörige Code:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:list&amp;rev=1318591413&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:23:33+02:00</dc:date>
        <title>swt-jface:list</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:list&amp;rev=1318591413&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.List








Listen werden mit SWT wie folgt erzeugt:




List list = new List(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
for (int i = 0; i &lt; 10; i++) {
   list.add(&quot;Listeneintrag &quot; + i);
}

list.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent event) {
      int[] selectedItems = list.getSelectionIndices();
      for (int i = 0; i &lt; selectedItems.length; i++)
         System.out.println(selectedItems[i];
 …</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:messagebox&amp;rev=1318591423&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:23:43+02:00</dc:date>
        <title>swt-jface:messagebox</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:messagebox&amp;rev=1318591423&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.MessageBox








MessageBox mbox = new MessageBox(Display.getCurrent().getActiveShell(),
                                 SWT.ICON_QUESTION | SWT.YES | SWT.NO);
mbox.setText(&quot;Achtung&quot;);     // Titel setzen
mbox.setMessage(&quot;Weiter?&quot;);  // Die Messagetext setzen
if (mbox.open() == SWT.YES){
   ...
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:multirowtable&amp;rev=1261067966&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:39:26+02:00</dc:date>
        <title>swt-jface:multirowtable</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:multirowtable&amp;rev=1261067966&amp;do=diff</link>
        <description>Diese Tabelle macht aus einer normalen SWT-Table eine Tabelle, welche auch mehrzeiliger Text anzeigen kann.









package com.sowas.javawiki.multirowtabledemo;

public class MultiRowTable {
    public static final int   TEXT_MARGIN     = 4;
    private final TableViewer m_viewer;

    public MultiRowTable(final Table table) {
        m_viewer = new TableViewer(table, SWT.V_SCROLL);
        addListeners(table);
    }

    public TableViewer getViewer() {
        return m_viewer;
    }

    pri…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:section-toolbar&amp;rev=1318591438&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:23:58+02:00</dc:date>
        <title>swt-jface:section-toolbar</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:section-toolbar&amp;rev=1318591438&amp;do=diff</link>
        <description>Java - SWT/JFace



Folgender Code ermöglicht es Buttons in eine Section einzubauen:









private void createSectionToolbar(Section section) {
   ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
   ToolBar toolbar = toolBarManager.createControl(section);
   final Cursor handCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);
   toolbar.setCursor(handCursor);
   toolbar.addDisposeListener(new DisposeListener() {
      public void widgetDisposed(DisposeEvent e) {
         …</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:setcursor&amp;rev=1318591258&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:20:58+02:00</dc:date>
        <title>swt-jface:setcursor</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:setcursor&amp;rev=1318591258&amp;do=diff</link>
        <description>Java - SWT/JFace




setCursor(new Cursor(getDisplay(), SWT.CURSOR_xxxx));








Dabei muss der Platzhalter SWT.CURSOR_xxxx natürlich durch eine echte Konstante ersetzt werden (z.B.: SWT.CURSOR_HAND).</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:swt-browser&amp;rev=1259533830&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-29T23:30:30+02:00</dc:date>
        <title>swt-jface:swt-browser</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:swt-browser&amp;rev=1259533830&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.browser.Browser









package com.sowas.swtdemo;

import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SWTBrowser {
   public static void main(String[] args){
      Display display = new Display();
      final Shell shell = new Shell(display);
      shell.setLayout(new FillLayou…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:swt-jface&amp;rev=1544701712&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-13T12:48:32+02:00</dc:date>
        <title>swt-jface:swt-jface</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:swt-jface&amp;rev=1544701712&amp;do=diff</link>
        <description>*  asyncExec
	*  AutoCompleteField
	*  Button
	*  Browser, SWT-eigener
	*  Canvas mit transparentem Hintergrund
	*  CCombo, Focus-Problem
	*  CLabel, mit Icon
	*  Colors
	*  Cursor setzen (SWT)
	*  Datei-Dialog
	*  Dekorationen von Controls
	*  Dialog (JFace)
	*  Display
	*  Events feuern
	*  FormHeading/FormTitel
	*  Group (GroupBox)
	*  Image, anzeigen
	*  Image, drauf zeichnen
	*  Image aus Stream laden
	*  ImageRegistry
	*  Layout
	*  List (SWT)
	*  MessageBox
	*  Section mit Toolbar
	*  Tab…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:tabel-activate-celleditor&amp;rev=1261068043&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:40:43+02:00</dc:date>
        <title>swt-jface:tabel-activate-celleditor</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:tabel-activate-celleditor&amp;rev=1261068043&amp;do=diff</link>
        <description>Um einen Zelleditor programmtechnisch zu aktivieren kann man folgenden Code verwenden:









TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(myTableViewer,
                                              new FocusCellOwnerDrawHighlighter(myTableViewer));
ViewerCell focusCell = mgr.getFocusCell();
int colIndx = focusCell.getColumnIndex();
tableViewer.editElement(rowModel, colIndx);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:tabfolder-tabitem&amp;rev=1261067826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:37:06+02:00</dc:date>
        <title>swt-jface:tabfolder-tabitem</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:tabfolder-tabitem&amp;rev=1261067826&amp;do=diff</link>
        <description>org.eclipse.swt.widgets.TabFolder

org.eclipse.swt.widgets.TabItem

Das Beispiel zeigt zwei Tabulatoren, welche je ein Textfeld enthalten.

Das erste Textfeld hat einen Rahmen, das zweite hat keinen Rahmen.









TabFolder folder = new TabFolder(client, SWT.FLAT);
folder.setLayoutData(new GridData(GridData.FILL_BOTH));

TabItem tab1 = new TabItem(folder, SWT.FLAT);
tab1.setText(&quot;Text mit Rahmen&quot;);
Text text1 = new Text(folder, SWT.BORDER);
text1.setText(&quot;Dies ist ein Textfeld mit Rahmen.&quot;);
t…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:table-cellbackground&amp;rev=1261068068&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:41:08+02:00</dc:date>
        <title>swt-jface:table-cellbackground</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:table-cellbackground&amp;rev=1261068068&amp;do=diff</link>
        <description>Um in einer Tabellen den Hintergrund einer Zelle einzufärben kann folgender Code verwendet werden:




Color red    = Display.getCurrent().getSystemColor(SWT.COLOR_RED);
int   column = 2;
TableItem[] items = getTable().getItems();
for (TableItem item : items)
   item.setBackground(column, red);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:table-disable-scrollbar&amp;rev=1465292389&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-06-07T11:39:49+02:00</dc:date>
        <title>swt-jface:table-disable-scrollbar</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:table-disable-scrollbar&amp;rev=1465292389&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Table








new Table(shell, SWT.NO_SCROLL);                 // Beide Scrollbars ausblenden
new Table(shell, SWT.NO_SCROLL | SWT.H_SCROLL);  // Verticale Scrollbar ausblenden
new Table(shell, SWT.NO_SCROLL | SWT.V_SCROLL);  // Horizontale Scrollbar ausblenden</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:table-images&amp;rev=1318591477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:24:37+02:00</dc:date>
        <title>swt-jface:table-images</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:table-images&amp;rev=1318591477&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.jface.viewers.OwnerDrawLabelProvider

Der LabelProvider verfügt zwar über die Methode getImage(), diese ist jedoch nur in sehr einfachen Fällen verwendbar. Spezielle wenn in der Tabelle in mehreren Spalten Images dargestellt werden sollen gibt es viele Probleme.

Der Ausweg aus diesem Dilemma besteht in einem eigenen OwnerDrawLabelProvider.








Im folgenden Beispiel wird ein LabelProvider erstellt, welche das Image einer Checkbox verwendet. Somit kann dieser L…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:table-selection&amp;rev=1261067995&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:39:55+02:00</dc:date>
        <title>swt-jface:table-selection</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:table-selection&amp;rev=1261067995&amp;do=diff</link>
        <description>org.eclipse.swt.widgets.Table

org.eclipse.jface.viewers.TableViewer




Table myTable = ...
myTable.setSelection(indx);  // Scrollt im Bedarfsfall
// myTable.select(indx);  // Scrollt nicht
myTable.setFocus();  // Ohne diese Zeile wird die Selection nicht erkannt?!</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:table-sort&amp;rev=1261068024&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:40:24+02:00</dc:date>
        <title>swt-jface:table-sort</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:table-sort&amp;rev=1261068024&amp;do=diff</link>
        <description>Folgende Klasse kann eine Tabelle, deren Zeilen auf Beans basieren, sortieren:









public class TableColumnSorter&lt;T&gt; extends ViewerComparator {
   private String	property;
   private int		sortDirection;
	
   public TableColumnSorter(String property, int sortDirection) {
      this.property = property;
      this.sortDirection = sortDirection;
   }
	
   @Override
   public int compare(Viewer viewer, Object e1, Object e2) {
      int result = super.compare(viewer, getColumnValue(e1), getColum…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:table&amp;rev=1318591450&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:24:10+02:00</dc:date>
        <title>swt-jface:table</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:table&amp;rev=1318591450&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Table









Einfaches Beispiel für eine Tabelle.

(Basis ist wieder die Source-Beispiel-Applikation; die dort vorhandene Klasse MyEditorPage muss nur durch die Klasse MyEditorPageTable ersetzt werden.)</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:text-tab-focus&amp;rev=1579723180&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:40+02:00</dc:date>
        <title>swt-jface:text-tab-focus</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:text-tab-focus&amp;rev=1579723180&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Text

org.eclipse.swt.events.TraverseListener



Bei einem mehrzeiligen Text-Control (Textarea) wird normalerweise durch Drücken von „Tab“ ein Freiraum eingefügt. Möchte man stattdessen den Focus zum nächsten Control weitergeben, so kann diese Funktionalität mit einem TraverseListener erreicht werden:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:text-user-drawn&amp;rev=1261067795&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:36:35+02:00</dc:date>
        <title>swt-jface:text-user-drawn</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:text-user-drawn&amp;rev=1261067795&amp;do=diff</link>
        <description>Ein recht großes Manke des SWT-Text-Controls ist, dass der enthaltenden Text im Zustand disabled nicht kopiert werden kann.
Ferner ist der Text grau und somit recht schlecht lesbar. Der folgende Code behebt diese beiden Nachteile:









public void setUneditable(final Text text, final boolean uneditable) {
   if (WidgetUtils.canBeUsed(text)) {           
      text.setData(FormToolkit.KEY_DRAW_BORDER, !uneditable);
      text.setData(UNEDITABLE_FLAG_KEY, uneditable);
      text.setEditable(!u…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:traverslistener&amp;rev=1544701887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-13T12:51:27+02:00</dc:date>
        <title>swt-jface:traverslistener</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:traverslistener&amp;rev=1544701887&amp;do=diff</link>
        <description>Java - SWT/JFace



org.eclipse.swt.widgets.Button




Button myButton = new Button(composite, &quot;Klick mich&quot;, SWT.PUSH);  // composite = parent
button.addTraverseListener(new TraverseListener() {
   @Override
   public void keyTraversed(TraverseEvent e) {
      System.out.println(&quot;Pressed key: &quot; + e.keyCode);
   }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:tree&amp;rev=1261067776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:36:16+02:00</dc:date>
        <title>swt-jface:tree</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:tree&amp;rev=1261067776&amp;do=diff</link>
        <description>package com.sowas.swtdemo;

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

public class ColumnTree{

   public static void main(String[] args) {
      Display display = new Display();
      final Shell shell = new Shell(display);
      shell.setLayout(new FillLayout());
		
      Tree tree = new Tree(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
      tree.setHeaderVisible(true);
      tree.setLinesVisible(true);
      TreeColumn column1 = new Tr…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:treetableviewer&amp;rev=1370936133&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-11T09:35:33+02:00</dc:date>
        <title>swt-jface:treetableviewer</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:treetableviewer&amp;rev=1370936133&amp;do=diff</link>
        <description>Der TreeViewer kann auch mit mehreren Spalten (Columns) verwendet werden:












package com.sowas.javawiki.treetabledemo;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:treeviewer&amp;rev=1579723182&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:42+02:00</dc:date>
        <title>swt-jface:treeviewer</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:treeviewer&amp;rev=1579723182&amp;do=diff</link>
        <description>org.eclipse.jface.viewers.TreeViewer



Siehe auch: TreeViewer mit mehreren Spalten













package com.sowas.javawiki.rpcbaseapplication;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
impo…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swt-jface:viewerfilter&amp;rev=1261067704&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T17:35:04+02:00</dc:date>
        <title>swt-jface:viewerfilter</title>
        <link>http://javawiki.sowas.com/doku.php?id=swt-jface:viewerfilter&amp;rev=1261067704&amp;do=diff</link>
        <description>org.eclipse.jface.viewers.ViewerFilter








Folgender Code filtert aus einer Combobox einen String heraus:




// Combobox erzeugen:
CCombo myCombo = new CCombo(parent, SWT.READ_ONLY);

// Falls mit einem FormToolkit gearbeitet wird:
// getFormToolkit().adapt(combo, true, true);

// Drei Strings hinzufügen:
myCombo.add(&quot;eins&quot;);
myCombo.add(&quot;zwei&quot;);
myCombo.add(&quot;drei&quot;);

// Der String &quot;zwei&quot; soll nun rausgefiltert werden:
myCombo.getComboViewer().addFilter(
   new ViewerFilter(){
      @Overri…</description>
    </item>
</rdf:RDF>
