Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:java:java_gui_swt

< Java

Java SWT

Az SWT

Java GUI létrehozására alkalmas komponens gyűjtemény. A Standard Widget Toolkit betűiből alkotott betűszó. Az IBM fejlesztők nem voltak megelégedve a Sun által létrehozott GUI megoldásokkal, ezért sajátot hozottak létre. Ez lett az SWT. Az SWT-t a Java nem tartalmazza, azt külön kell letölteni.

Az SWT-t ma az Eclipse csapat tartja karban. Letöltés után a használathoz mindössze egy .jar fájlt kell illesztenünk a saját kódunkhoz. Külön kell letölteni Windows, Linux vagy macOS számára. Linux esetén ügyeljünk arra, hogy háromféle processzorhoz tölthető le, így válasszuk a megfelelőt.

Webhely:

Helló Világ

main.java
import org.eclipse.swt.widgets.*;
 
public class main
{
    public static void main(String[] args)
    {
        Display megjelenito = new Display();
        Shell parancssor = new Shell(megjelenito);
 
        parancssor.setText("Helló Világ");
 
        parancssor.open();
 
        while(!parancssor.isDisposed())
        {
            if (!megjelenito.readAndDispatch())
            {
                megjelenito.sleep();
            }
        }
        megjelenito.dispose();
    }
}

Fordítás:

javac -cp /swtutvonal/swt.jar Program.java
javac -cp c:\swtutvonal\swt.jar Program.java

Futtatás (az ahol class aktuális fájl van):

java -cp /swtutvonal/swt.jar:. Program
java -cp c:\swtutvonal\swt.jar;. Program

Grafikus felület

Program.java
import org.eclipse.swt.widgets.*;
 
class Program
{
 
	public static void main(String args[])
	{
 
		Display megjelenito = new Display();
		Shell felulet = new Shell(megjelenito);
		felulet.setSize(300, 200);
		felulet.setText("Dialogs");
		felulet.open();
		Label cimke = new Label(felulet, 0);
		cimke.setText("Címke");
		cimke.setBounds(20, 20, 50, 25);
 
 
		while (!felulet.isDisposed())
		{
			if (!megjelenito.readAndDispatch())
				megjelenito.sleep();
		}
		megjelenito.dispose();
	}
}

Text widgets

Program.java
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
 
class Program
{
	public static void main(String[] argv)
	{
 
		Display megjelenito = new Display();
		Shell felulet = new Shell(megjelenito);
		felulet.setSize(800, 600);
		felulet.setText("Elso");
 
 
		Text text = new Text(felulet, SWT.SINGLE);
		text.setBounds(100,100, 100,30);
		text.setBackground(new Color(megjelenito, 200, 200, 200));
 
		felulet.open();
 
		while(!felulet.isDisposed())
		{
			if(!megjelenito.readAndDispatch())
				megjelenito.sleep();
		}
		megjelenito.dispose();
 
	}
}

Nyomógomb eseménykezeléssel

Program.java
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.events.*;
 
class Program
{
	public static void main(String[] argv)
	{
 
		Display megjelenito = new Display();
		Shell felulet = new Shell(megjelenito);
		felulet.setSize(800, 600);
		felulet.setText("Elso");
 
 
		Text text = new Text(felulet, SWT.SINGLE);
		text.setBounds(100,100, 100,30);
		text.setBackground(new Color(megjelenito, 200, 200, 200));
 
		Button button = new Button(felulet, SWT.PUSH);
		button.setBounds(100, 200, 100, 30);
		button.setText("Nyomj meg");
		button.addSelectionListener(new SelectionListener() {
			public void widgetDefaultSelected(SelectionEvent e) {
			}
			public void widgetSelected(SelectionEvent e) {
				System.out.println("Lenyomtak");
			}
		});
 
 
		felulet.open();
 
		while(!felulet.isDisposed()) {
			if(!megjelenito.readAndDispatch())
				megjelenito.sleep();
		}
		megjelenito.dispose();
 
	}
}

Listadoboz Table osztállyal

Program01.java
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
 
class Program01
{
 
	public static void main(String args[])
	{
 
		Display megjelenito = new Display();
		Shell felulet = new Shell(megjelenito);
		felulet.setSize(800, 600);
		felulet.setText("Dialogs");
 
		Label cimke = new Label(felulet, 0);
		cimke.setText("Címke");
		cimke.setBounds(20, 20, 50, 25);
 
 
		final Table table = new Table (felulet, SWT.VIRTUAL | SWT.BORDER);
		table.setBounds(20, 50, 200, 200);
 
		table.setItemCount (100);
		table.addListener (SWT.SetData, new Listener ()
		{
			public void handleEvent (Event event)
			{
				TableItem item = (TableItem) event.item;
				int index = table.indexOf (item);
				item.setText ("Item " + index);
				System.out.println (item.getText ());
			}
		});
 
 
		felulet.open();
 
		while (!felulet.isDisposed())
		{
			if (!megjelenito.readAndDispatch())
				megjelenito.sleep();
		}
		megjelenito.dispose();
	}
}

Külső linkek

oktatas/programozas/java/java_gui_swt.txt · Utolsó módosítás: 2022/12/26 12:15 szerkesztette: admin