oktatas:programozas:java:java_gui_swt
Tartalomjegyzék
Java SWT
- Szerző: Sallai András
- Copyright © Sallai András, 2011, 2022
- Web: https://szit.hu
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:
- https://www.eclipse.org/swt/ (2022)
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