swtAan de slag met swt


Opmerkingen

Deze sectie geeft een overzicht van wat swt is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen swt vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de Documentatie voor swt nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

versies

Versie Publicatiedatum
4.7 2017/06/12
4.6.3 2017/03/01
4.6.2 2016/11/24
4.6.1 2016/09/07
4.6 2016/06/06
4.5.2 2016/02/12
4.5.1 2015/09/04
4.5 2015/06/03
4.4.2 2015/02/04
4.4.1 2014/09/25
4.4 2014/06/06
4.3.2 2014/02/21
4.3.1 2013/09/11
4.3 2013/06/05
4.2.2 2013/02/04
4.2.1 2012-09-14
4.2 2012-06-08
4.1.2 2012-02-23
4.1.1 2011-09-12
4.1 2011-06-20
4 2010-07-27
3.8.2 2013/01/31
3.8.1 2012-09-14
3.8 2012-06-08
3.7.2 2012-02-08
3.7.1 2011-09-09
3.7 2011-06-13
3.6.2 2011-02-10
3.6.1 2010-09-09
3.6 2010-06-08
3.5.2 2010-02-11
3.5.1 2009-09-17
3.5 2009-06-11
3.4.2 2009-02-11
3.4.1 2008-09-11
3.4 2008-06-17
3.3.2 2008-02-21
3.3.1.1 2007-10-23
3.3.1 2007-09-21
3.3 2007-06-25
3.2.2 2007-02-12
3.2.1 2006-09-21
3.2 2006-06-29
3.1.2 2006-01-18
3.1.1 2005-09-29
3.1 2005-06-27
3.0.2 2005-03-11
3.0.1 2004-09-16
3 2004/06/25
2.1.3 2004/03/10
2.1.2 2003-11-03
2.1.1 2003/06/27
2.1 2003/03/27
2.0.2 2002/11/07
2.0.1 2002-08-29
2 2002/06/27
1 2001-11-07

Een nieuw SWT-programma maken

Maak een nieuw tekstbestand met de naam HelloWorld.java en plak deze code erin:

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

public class HelloWorld
{
    public static void main(String[] args)
    {
        final Display display = new Display();
        final Shell shell = new Shell(display);
        shell.setLayout(new FillLayout());

        Label label = new Label(shell, SWT.NONE);
        label.setText("Hello World!");

        shell.pack();
        shell.open();

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

Wanneer u het programma start, ziet het er ongeveer zo uit:

voer hier de afbeeldingsbeschrijving in


De Hello World-applicatie nader bekeken

De Hello World applicatie bestaat uit een HelloWorld klasse definitie en een main methode.

De hoofdmethode definieert een Display en een Shell . Het display fungeert als de interface tussen SWT en het onderliggende besturingssysteem. Het behandelt het platformgebeurtenismodel in de vorm van de SWT-gebeurtenislus. De shell vertegenwoordigt een enkel venster van het bureaublad of vensterbeheer.

Widgets worden aan de shell toegevoegd door de shell op te geven in de constructor van de widget. In dit voorbeeld maken we een Label . Een label is een widget die tekst of een afbeelding kan weergeven. In dit geval zetten we de tekst "Hallo wereld!" aan. De widget wordt aan de shell toegevoegd door onze shell op te geven als het eerste argument in de constructor.

Om het label zichtbaar te maken in de shell, moeten we er een vaste grootte voor instellen of we moeten de ouder (de shell) vertellen hoe hij de kinderen moet indelen.

De FillLayout is de eenvoudigste SWT- Layout . Het organiseert al zijn kinderen in één rij of kolom en dwingt hen om dezelfde maat te hebben.

De volgende regels vertellen de shell om zijn lay-out toe te passen en zichtbaar te worden:

shell.pack();
shell.open();
 

Als laatste, maar vooral, moeten we de eventlus van het SWT-programma definiëren. De gebeurtenislus is nodig om de gebruikersinvoergebeurtenissen van de onderliggende widgets van het besturingssysteem over te dragen naar het SWT-gebeurtenissysteem.

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

Deze lus loopt totdat de schaal is verwijderd. Zodra dit gebeurt, wordt het display ook verwijderd en wordt het programma beëindigd. Terwijl het programma loopt, leest het de volgende besturingssysteemgebeurtenis en draagt deze over naar SWT. Als er geen gebeurtenis is, slaapt de thread totdat de volgende gebeurtenis arriveert.

Installatie of instellingen

Gedetailleerde instructies voor het instellen of installeren van swt.