Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek SWT haladó komponensek.

Slides:



Advertisements
Hasonló előadás

Advertisements

Készítette: Boros Erzsi
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
A társadalmi tényezők hatása a tanulásra
3 5 6 Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES.
Erőállóképesség mérése Találjanak teszteket az irodalomban
MATEMATIKA Év eleji felmérés 3. évfolyam
Messages Szöveg A A B B C C A A B B C C A A B B C C Endpoint.
Humánkineziológia szak
Mellár János 5. óra Március 12. v
a szülői elégedettségmérés legfontosabb eredményeiről
6) 7) 8) 9) 10) Mennyi az x, y és z értéke? 11) 12) 13) 14) 15)
Elektromos mennyiségek mérése
Az új történelem érettségiről és eredményeiről augusztus Kaposi József.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt fejlesztőrendszerek Felhasználói felületek Balogh András.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Domain specifikus nyelvek Eclipse Modeling.
Utófeszített vasbeton lemez statikai számítása Részletes számítás
TRANZIENS ADATTÁROLÁS State objektum Egy alkalmazásszintű gyűjtemény (Dictionary), mely Tombstone esetén megőrzi tartalmát a memóriában kulcs/érték párokként.
A tételek eljuttatása az iskolákba
VPOP Jövedéki Igazgatóság
STÍLUSOK Tulajdonságok és értékek. Színek megadási módjai H1 {color: #CCF150} H1 {color: rgb(204,241,80)} H1 {color: rgb(80%,95%,30%)} H1 {color: red}
Fodrostollú magyar lúd
VÁLOGATÁS ISKOLÁNK ÉLETÉBŐL KÉPEKBEN.
TÓPARTI GIMNÁZIUM ÉS MŰVÉSZETI SZAKKÖZÉPISKOLA A évi ORSZÁGOS KOMPETENCIAMÉRÉS eredményei A felmérés időpontja: május 29.
Aszociációs kolloidok, micellaképződés
Védőgázas hegesztések
Az egészségmagatartás gazdasági-társadalmi meghatározottsága
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Sárgarépa piaca hasonlóságelemzéssel Gazdaság- és Társadalomtudományi kar Gazdasági és vidékfejlesztési agrármérnök I. évfolyam Fekete AlexanderKozma Richárd.
Hyperuricaemia és hypertonia Hypertonia Központ Óbuda, Budapest
NOVÁK TAMÁS Nemzetközi Gazdaságtan
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Fekete László Született: Csillagjegye: Vízöntő
Merre tovább? Tapasztalatok a kétszintű latin nyelvi érettségiről.
Chrappán Magdolna DE BTK Neveléstudományok Intézete.
szakmérnök hallgatók számára
Aktuális helyzet Elhasznált gumiabroncs hasznosítás MAGUSZ
A évi demográfiai adatok értékelése
A évi demográfiai adatok értékelése
Logikai szita Pomothy Judit 9. B.
Logikai szita Izsó Tímea 9.B.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek JFace.
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek JFace.
LENDÜLETBEN AZ ORSZÁG A Magyar Köztársaság kormánya.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
Vizuális programozás Rajzolás Windows Forms alkalmazásokban GDI+
var q = ( from c in dc.Customers where c.City == "London" where c.City == "London" select c).Including( c => c.Orders ); select c).Including(
7. Házi feladat megoldása
Érettségi jelentkezések és érettségi eredmények 2008 Tanévnyitó értekezlet Érettségi jelentkezések - érettségi eredmények augusztus 29.
CSS A CSS bemutatása.
Akusztika feladatok Összebarmolta: wapsuwapp SZTE-TTIK Jön mindenki egy sörrel!
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Eclipse alapú technológiák JFace Balogh András.
Tanulói utánkövetés 2009/2010. A 2009/2010-es tanévben iskolánkban 210 tanuló végzett. 77 fő a szakközépiskola valamelyik tagozatán 133 fő szakmát szerzett.
Nyitott Kapuk 2010 Beiskolázási kérdőívek értékelése.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Ágazati GDP előrejelző modell Foglalkoztatási és makro előrejelzés Vincze János Szirák, november 10.
Tanulói elégedettségvizsgálat ismertetése HJK
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Érettségi eredmények Vizsgázók száma: 114 fő Rendes vizsga: 82 fő Előrehozott vizsga: 32 fő (30+2) Összes értékelt tantárgyi vizsga: 495 Összes.
ERKÖLCS ÉS JOG …………………………………………………………….…..…4 A jog …………………………………………………..…………………5 A jogrendszer és a jogágak, jogszabályok kapcsolata …………………..6 A MAGYAR.
GAZDASÁGI ADOTTSÁGOK ÉS FEJLŐDÉSI IRÁNYOK A délkelet-európai országok Novák Tamás MTA – VKI május 16.
Kvantitatív módszerek
2011/2012 tanév félévi statisztikai adatai. Hiányzások, mulasztások a tanév során (az első 20) Osztály Egy főre eső igazolt órák száma Egy főre eső.
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
A TÁRSADALMI JÓL- LÉT KÉRDÉSEINEK ÖSSZEHASONLÍTÁSA EGYES SZOLGÁLTATÓ SZEKTOROKBAN Készítette: Folmegné Czirák Julianna
1 Az igazság ideát van? Montskó Éva, mtv. 2 Célcsoport Az alábbi célcsoportokra vonatkozóan mutatjuk be az adatokat: 4-12 évesek,1.
Előadás másolata:

Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek SWT haladó komponensek

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 2 SWT eddig  Alapvetések −natív −Építőelemek −Eseménykezelés  Komponensek −Ablak −Gomb −Text −…

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 3 SWT haladó  Komplex komponensek −*Bar −Tree −Table −…  Rajzolás  Nyomtatás

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 4 SWT haladó  Komplex komponensek −*Bar −Tree −Table −…  Rajzolás  Nyomtatás

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 5 Menu  Menü megjelenítése  new Menu(parent, SWT.BAR); −BAR – felső szintű menü −DROP_DOWN – almenü −POP_UP – helyi menü  Fontos: shell.setMenuBar(Menu)  Menü elemek: MenuItem −SWT.CASCADE – almenüje van −SWT.PUSH –”sima” elem  Egy item-nek is lehet menüje (almenü) −setMenu()

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 6 Toolbar  new ToolBar(parent, SWT.HORIZONTAL)  Eszközkészlet megjelenítése  Stílusok −HORIZONTAL, VERTICAL −WRAP, FLAT, RIGHT −SHADOW_OUT  Események: nincs  Metódusok: getItems(), getItem(int)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 7 ToolItem  new ToolItem(toolbar,stílus)  Stílusok −PUSH, RADIO, DROP_DOWN, SEPARATOR,CHECK  Az API hasonlít a Button-éhoz  SEPARATOR esetén a szélesség (setWidth(int)) beállítható

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 8 ToolItem  new ToolItem(toolbar,stílus)  Stílusok −PUSH, RADIO, DROP_DOWN, SEPARATOR,CHECK  Az API hasonlít a Button-éhoz  SEPARATOR esetén a szélesség (setWidth(int)) beállítható

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 9 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}});

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 10 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}}); ToolBar és ToolItem létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 11 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}}); Menü létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 12 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}}); Menü elemek létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 13 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}}); ToolItem esemény- kezelő írása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 14 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}}); SWT.ARROW jelzi, hogy a kinyitásra kattintottak

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 15 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}}); Koordináták átszámítása képernyő-koordinátákká

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 16 Toolbar példa – menü dropdown final ToolBar toolBar= new ToolBar(shell, SWT.HORIZONTAL); final ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN); item.setImage(createToolIcon(display, "run")); final Menu menu = new Menu(shell, SWT.POP_UP); for(int i = 0; i < 8; i++) { new MenuItem(menu, SWT.PUSH).setText("Item"+ i);} item.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEventevent) { if(event.detail == SWT.ARROW) { Point point = new Point(event.x, event.y); point = display.map(toolBar, null, point); menu.setLocation(point); menu.setVisible(true); }}}); Menü megjelenítése

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 17 CoolBar, CooITem  new CoolBar(parent.SWT.FLAT)  Eszköz-kontrolok elhelyezése −Átrendezhető, testre szabható  new CoolItem(coolBar,SWT.NONE) −Tartó a kontrol számára −Méretezhető (preferredSize, minimumSize)  Fontos: CoolItem.setControl()  CoolBar.setLocked()

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 18 Coolbar példa – nyomógomb final CoolBar coolBar= new CoolBar(window, SWT.BORDER); final CoolItem item = new CoolItem(coolBar, SWT.NONE); Button butt = new Button(coolBar,SWT.PUSH); butt.setText("haliho"); item.setControl(butt); Point size = butt.computeSize(SWT.DEFAULT,SWT.DEFAULT); item.setPreferredSize(item.computeSize(size. x,size.y)); coolBar.setLocked(false);

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 19 Coolbar példa – nyomógomb final CoolBar coolBar= new CoolBar(window, SWT.BORDER); final CoolItem item = new CoolItem(coolBar, SWT.NONE); Button butt = new Button(coolBar,SWT.PUSH); butt.setText("haliho"); item.setControl(butt); Point size = butt.computeSize(SWT.DEFAULT,SWT.DEFAULT); item.setPreferredSize(item.computeSize(size. x,size.y)); coolBar.setLocked(false); CoolBar létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 20 Coolbar példa – nyomógomb final CoolBar coolBar= new CoolBar(window, SWT.BORDER); final CoolItem item = new CoolItem(coolBar, SWT.NONE); Button butt = new Button(coolBar,SWT.PUSH); butt.setText("haliho"); item.setControl(butt); Point size = butt.computeSize(SWT.DEFAULT,SWT.DEFAULT); item.setPreferredSize(item.computeSize(size. x,size.y)); coolBar.setLocked(false); CoolItem létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 21 Coolbar példa – nyomógomb final CoolBar coolBar= new CoolBar(window, SWT.BORDER); final CoolItem item = new CoolItem(coolBar, SWT.NONE); Button butt = new Button(coolBar,SWT.PUSH); butt.setText("haliho"); item.setControl(butt); Point size = butt.computeSize(SWT.DEFAULT,SWT.DEFAULT); item.setPreferredSize(item.computeSize(size. x,size.y)); coolBar.setLocked(false); Gomb létrehozása, Hozzáadása az item-hez

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 22 Coolbar példa – nyomógomb final CoolBar coolBar= new CoolBar(window, SWT.BORDER); final CoolItem item = new CoolItem(coolBar, SWT.NONE); Button butt = new Button(coolBar,SWT.PUSH); butt.setText("haliho"); item.setControl(butt); Point size = butt.computeSize(SWT.DEFAULT,SWT.DEFAULT); item.setPreferredSize(item.computeSize(size. x,size.y)); coolBar.setLocked(false); Méret beállítása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 23 Coolbar példa – nyomógomb final CoolBar coolBar= new CoolBar(window, SWT.BORDER); final CoolItem item = new CoolItem(coolBar, SWT.NONE); Button butt = new Button(coolBar,SWT.PUSH); butt.setText("haliho"); item.setControl(butt); Point size = butt.computeSize(SWT.DEFAULT,SWT.DEFAULT); item.setPreferredSize(item.computeSize(size. x,size.y)); coolBar.setLocked(false); Szerkeszthető marad a coolBar

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 24 Tree  new Tree(parent.SWT.SINGLE)  Stílusok −SINGLE – egyszeres kijelölés −MULTI – többes kijelölés −CHECK – checkbox-os tree  Események −Selection – egy elemet kiválasztottak −defaultSelection – egy elemen Enter-t ütöttek −Collapse – bezártak egy részfát −Expand – kinyitottak egy részfát  Mindig van scrollbar!

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 25 TreeItem  new TreeItem(parent, SWT.NONE)  Szülő −Tree – gyökérelem −TreeItem - gyerek  Lehet −Szöveg, ikon, checkbox  Az expand eseménnyel lehet lazy-load

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 26 Tree & Item  Érdekes metódusok −showSelection() – megmutatja a kijelölt elemet −showItem(TreeItem) – megmutatja az itemet −setSelection(TreeItem[]) – getSelection() −selectAll() – deselectAll() −setTopItem() – a legfelső láthatóvá teszi az elemet, ha lehet −getTopItem() – visszaadja a legfelső elemet

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 27 Table  Egyszerű táblázat  new Table(parent, SWT.SINGLE)  Stílusok −SINGLE – egy kijelölés −MULTI – több kijelölés −CHECK – check boxok −FULL_SELECTION – teljes sort lehet kijelölni −HIDE_SELECTION – ha nincs fókusz nem mutatja a kijelölést

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 28 Table  Metódusok −setHeaderVisible(boolean) −setLinesVisible(boolean) −getHeaderHeight(), getItemHeight() −indexOf(TableColumn), indexOf(TableItem) −getColumn(int), getItem(int) −setTopIndex(int) −isSelected(int), setSelection(int[]), setSelection(TableItem[])

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 29 TableColumn Item  new TableColumn(table,SWT.LEFT) −Lehet szövege, képe, igazítás −Állítható szélesség −Move, Resize, Selection események  new TableItem(table,SWT.NONE) −Szöveg, kép, checkbox lehet

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 30 Table példa Table table = new Table(shell, SWT.BORDER); table.setHeaderVisible(true); for(int i = 0; i < 4; i++) { TableColumn column = new TableColumn(table,SWT.NONE); column.setText("Column"+ i);} for(int i = 0; i < 5; i++) { TableItem item = new TableItem(table, SWT.NULL); for(int j = 0; j < 4; j++) { item.setText(j, "Item "+ i + "-"+ j);}} for(inti = 0; i < 4; i++){ table.getColumn(i).pack();} table.pack();

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 31 Table példa Table table = new Table(shell, SWT.BORDER); table.setHeaderVisible(true); for(int i = 0; i < 4; i++) { TableColumn column = new TableColumn(table,SWT.NONE); column.setText("Column"+ i);} for(int i = 0; i < 5; i++) { TableItem item = new TableItem(table, SWT.NULL); for(int j = 0; j < 4; j++) { item.setText(j, "Item "+ i + "-"+ j);}} for(inti = 0; i < 4; i++){ table.getColumn(i).pack();} table.pack(); Új tábla

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 32 Table példa Table table = new Table(shell, SWT.BORDER); table.setHeaderVisible(true); for(int i = 0; i < 4; i++) { TableColumn column = new TableColumn(table,SWT.NONE); column.setText("Column"+ i);} for(int i = 0; i < 5; i++) { TableItem item = new TableItem(table, SWT.NULL); for(int j = 0; j < 4; j++) { item.setText(j, "Item "+ i + "-"+ j);}} for(inti = 0; i < 4; i++){ table.getColumn(i).pack();} table.pack(); 4 oszlop létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 33 Table példa Table table = new Table(shell, SWT.BORDER); table.setHeaderVisible(true); for(int i = 0; i < 4; i++) { TableColumn column = new TableColumn(table,SWT.NONE); column.setText("Column"+ i);} for(int i = 0; i < 5; i++) { TableItem item = new TableItem(table, SWT.NULL); for(int j = 0; j < 4; j++) { item.setText(j, "Item "+ i + "-"+ j);}} for(inti = 0; i < 4; i++){ table.getColumn(i).pack();} table.pack(); 5 item (sor) létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 34 Table példa Table table = new Table(shell, SWT.BORDER); table.setHeaderVisible(true); for(int i = 0; i < 4; i++) { TableColumn column = new TableColumn(table,SWT.NONE); column.setText("Column"+ i);} for(int i = 0; i < 5; i++) { TableItem item = new TableItem(table, SWT.NULL); for(int j = 0; j < 4; j++) { item.setText(j, "Item "+ i + "-"+ j);}} for(inti = 0; i < 4; i++){ table.getColumn(i).pack();} table.pack(); Minden sorban minden oszlop értékének beállítása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 35 Table példa Table table = new Table(shell, SWT.BORDER); table.setHeaderVisible(true); for(int i = 0; i < 4; i++) { TableColumn column = new TableColumn(table,SWT.NONE); column.setText("Column"+ i);} for(int i = 0; i < 5; i++) { TableItem item = new TableItem(table, SWT.NULL); for(int j = 0; j < 4; j++) { item.setText(j, "Item "+ i + "-"+ j);}} for(inti = 0; i < 4; i++){ table.getColumn(i).pack();} table.pack(); „csomagolás”

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 36 Browser  new Browser(parent, SWT.NONE)  Az operációs rendszer böngészőjét használja  Események: Show, Hide, Open, Close, (URL)Changed, …  Metódusok −setURL(String) −setText(String) −back(), forward(), stop()

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 37 TabFolder  new TabFolder(parent, SWT.TOP)  „Lapozós dialógusablak”  Stílusok −TOP – fülek felül −BOTTOM – fülek alul  Esemény: selection – egy elem kiválasztva

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 38 TabItem  new TabItem(folder, SWT.NONE)  Egy lapot jelképez  Metódusok −setText() - fül felirat −setImage() – fül kép −setToolTipText() – tool tipp −setControl() – a kontroll, mely az item területét elfoglalja

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 39 Widget-ek – ami kimarad  Combo  Group  List  ProgressBar  ScrollBar  Scale, Slider, Spinner,  TableTree – tábla az első oszlopban tree  …

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 40 Widget-ek – ami kimarad  Combo  Group  List  ProgressBar  ScrollBar  Scale, Slider, Spinner,  TableTree – tábla az első oszlopban tree  …

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 41 Dialógusok  Fajtái −MessageBox- üzenetek −ColorDialog – szín-kiválasztás −DirectoryDialog - könyvtárfa −FileDialog – fájl kiválasztás, mentés −FontDialog – betűtípus-választás −PrintDialog – nyomtatás  Az operációs rendszer beépített dialógusait használja

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 42 Dialógusok  Metódusok −setText() – címsor beállítása −open() – megnyitás, dialóg-specifikus visszatérési érték  Stílusok −PRIMARY_MODAL, APPLICATION_MODAL, SYSTEM_MODAL  Nem Widget alosztályok!

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 43 MessageBox  Metódusok −setMessage() – Üzenet szöveg  Stílusok −ICON_ERROR, ICON_INFORMATION, ICON_QUESTION, ICON_WARNING, ICON_WORKING −OK, OK | CANCEL −YES | NO, YES | NO | CANCEL −RETRY | CANCEL, ABORT | RETRY | IGNORE  open() a lenyomott gombbal tér vissza (pl. OK)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 44 FileDialog  Metódusok −setFileName(String) −setFileExtensions(String[]) −setFilterNames(String[]) −setFilterPath(String)  Stílusok −OPEN, SAVE, MULTI  open() – fájlnév (String) −Multi esetén: getFileNames()

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 45 Grafika  Ha saját widget kell…  Ha rajzolni szeretnénk  Grafika −alapok −eseménykezelés −nyomtatás

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 46 Koordináta-rendszer  Origó a bal felső sarok (0,0)  Minden távolság pixelben adott  Jobbra és lefelé növekszik  Jobbról-balra típusú locale esetén az x koordináta-tengely megfordulhat!  A koordináta-rendszer általában control- relatív, azaz a kontrollon belül érvényes

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 47 Point és Rectangle  Point – x,y koordináta-pár −Nincs OS erőforrás  Rectangle – téglalap (koordináta-négyes) −Nincs OS erőforrás −API: contains(Point) intersects(Rectangle), union(Rectangle), intersection(Rectangle)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 48 GraphicsContext - GC  Interfész a platform grafikus rendszeréhez  Tartalmazza az aktuális rajzolási környezetet (Színek, stílusok, …)  Rajzolási környezetek −Control – általában egy kontrollra rajzolunk −Device – rajzolás egy eszközre (pl. Printer) −Image – rajzolás egy képre, az eredmény például kimenthető fájlba

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 49 Szálkezelés  Nem muszáj az UI szálból rajzolni, de érdemes: −Jósolható: tudjuk, hogy senki sem nyúl a felülethez, amíg rajzolunk −Könnyen programozható: az UI-hoz való hozzáférés nem igényel szálak közötti hívásokat −Biztonságos: néhány operációs rendszer rosszul viseli a háttér-rajzolószálakat

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 50 Rajzolás - vonalak  drawLine(int,int,int,int) – egyszerű vonal  drawPolyLine(int[] xyArray) – pont pár – sorozattal törtvonal rajzolása  drawPolygon(int[] xyArray) – mint az előző, de a végén lezárja (utolsó párból az elsőig)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 51 Rajzolás - alakzatok  drawRectangle(int,int,int,int) – téglalap  drawRoundRectangle(int,int,int,int,int,int) – Lekerekített téglalap  drawOval(int,int,int,int) – ellipszis  drawArc(int,int,int,int,int,int) – ellipszis- szelet −Szögek: fokban, a 0 jobb-vízszintes, óramutató járásával ellenkezően növekszik  Kitöltött alakzatok: draw helyett fill

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 52 Színek  RGB osztály −A szokásos számhármas  Color osztály −Egy RGB és egy Device alapján számol színt −Specifikus színleképzést valósít meg (OS)  SystemColor −OS szinten specifikált színek (pl. BLACK) −Display.getSystemColor(int) hívással megkapható

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 53 Region  Egy, több síidom által alkotott terület  Region(Device)  Metódusok: −add(Rectangle) - hozzáadás −add(Region) −add(int[]) - poligon −subtract(Rectangle) - kivonás −subtract(Region) −subtract(int[]) - poligon −getBounds() – határok (befoglaló téglalap) −contains(x,y) – tartalmazza-e a pontot −intersects(Rectangle) – van-e közös rész?  OS erőforrásokat fog!

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 54 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(newint[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200));

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 55 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(newint[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Új régió a képernyőn

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 56 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(newint[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Egy háromszög hozzáadása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 57 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(newint[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Egy téglalap kivonása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 58 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(new int[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Egy háromszög hozzáadása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 59 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(new int[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Paint esemény esetén rajzolnunk kell

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 60 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(new int[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Beállítjuk a régiót clipping- nek

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 61 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(new int[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Beállítjuk a kitöltőszínt

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 62 Region - felhasználás final Region region = new Region(display); region.add(new int[]{0, 0, 200, 0, 200, 200}); region.subtract(new Rectangle(75, 75, 50, 50)); region.add(new int[]{25, 125, 75, 125, 75, 175}); shell.addListener(SWT.Paint, newListener() { public void handleEvent(Event event) { GC gc= event.gc; gc.setClipping(region); Rectangle rect= shell.getClientArea(); gc.setBackground(display.getSystemColor( SWT.COLOR_CYAN)); gc.fillRectangle(0,0,rect.width,rect.height); }}); shell.setSize(shell.computeSize(200, 200)); Festünk

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 63 Region - eredmény

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 64 Region - példa  GC – clipping −Vágási terület, a rajzolás ezen hatásos  getClipping()  setClipping(Region)  setClipping(int, int, int, int)  setClipping(Rectangle)  setClipping(Region)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 65 FontData  FontData(String name, int size, int style) −Name: a font neve −Size: méret pont (1/72”)-ben −Style: NORMAL, ITALIC, BOLD, (BOLD | ITALIC)  Megkapható: −FontDialog −Device.getFontList(String name, boolean scalable) ●Skálázható font: bármely méretben használható ●Bitmap font: csak az előre definiált méretekben

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 66 Font  Font (Device, FontData) −Adott eszközhöz kötött font −OS erőforrásokhoz kötődik!  GC-ben: −setFont(Font) −getFont() −getSystemFont() – alapértelmezett

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 67 Szöveg rajzolás  drawString(String,int,int,boolean) −Kiírja a szöveget az adott koordinátáktól kezdődően −A boolean paraméter azt adja meg, hogy átlátszó-e a háttér ●Ha nem, akkor a szöveg körüli téglalapot kitölti a háttérszínnel

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 68 Szöveg rajzolás  drawString(String,int,int,int style) −Kiírja a szöveget az adott koordinátáktól kezdődően −Style paraméter ●SWT.DRAW_DELIMITER – a sortörés karakterek hatására új sort kezd ●SWT.DRAW_TAB - a tabulátor karaktereket értelmezi ●SWT.DRAW_MNEMONIC – az & után aláhúzott betűk (gyorsbillentyű) ●SWT.DRAW_TRANSPARENT – átlátszó háttér

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 69 FontMetrics  Szöveg méreteinek meghatározása −Szöveg elrendezés, tördelés  Miért nem Font.getHeight() ? −Nem pixel, hanem pont −Néhány platform hazudik  Helyette: gc.getFontMetrics() −getHeight() – magasság (pixel) −getAscent() – betűmagasság −getDescend() – „lelógás” −getLeading() – ékezetek helye

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 70 FontMetrics  Miért nem a Font tartalmazza a méretadatokat? −Minden GC-specifikus −Mindig az aktuális font metriáit kapjuk mega gc-től.  Hátrány: −Amíg nincs GC, nem tudjuk megmérni a magasságot…

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 71 Képek - ImageData  Egy kép leírása  ImageData(String)  ImageData(InputStream) −Betöltés fájlból −Gif, Jpeg, PNG, BMP, ICO, TIFF  ImageData(int,int,int, PaletteData) −Új képet készít  Nincs OS erőforrás

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 72 Képek - ImageData  setPixel(int x, int y, int v) – pixel beállítása  setPixels(int,int, int putW, int[] v) – pixelek beállítása  getPixels(int, int, int getW, int[] v) – pixelek lekérdezése  getRGB(int) – RGB a színből  getPixel(RGB) – szín az RGB-ből  scaleTo(int, int) – adott méretre skálázás

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 73 Képek - PaletteData  A színformátum leírása egy képre −A színformátum lehet direkt, vagy palettás  PaletteData(RGB[])  getPixel(RGB)  Nincs OS erőforrás

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 74 Képek - Image  Image(Device, ImageData) −Kép az ImageData objektumból  Image(Device, int, int) −Üres, meg nem jelenő kép rajzoláshoz  Image(Device, String) −Kép betöltése közvetlenül fájlból  Image(Device, Image, int) – trafó végrehajtás −SWT.DISABLE, SWT.GRAY  OS szintű!

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 75 Képek - kirajzolás  A GC-ben  drawImage(Image, int, int) −Adott helyre  drawImage(Image,int,int,int,int,int,int,int,int ) −A kép egy részének kirajzolása az adott helyre

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 76 Kurzorok  Cursor(Device, int) −Előre definiált kurzorok −CURSOR_WAIT, CURSOR_HAND, CURSOR_HELP, … −CURSOR_SIZExx -> átméretező alakú kurzor ●Többféle van(égtájak szerint)  Cursor(Device, ImageData, int, int) −Saját kurzor −A két int a hotspot helye (az aktív pont a kurzorban)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 77 Kurzorok használata 1. NINCS dispose!

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 78 Kurzorok használata 2. Használat után dispose kell!

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 79 Nyomtatás  Grafikus nyomtatás az operációs rendszerben telepített nyomtatókra  Nem minden platformon támogatott −Windows alatt biztosan megy  PrinterData – a nyomtató adatai −Printer.getPrinterList() – telepített nyomtatók −Printer.getDefaultPrinterData() – alapértelmezett −PrintDialog.open() – felhasználó választhat

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 80 Nyomtatás  A PrintData-ból egy Printer objektumot készítünk.  startJob(String) … endJob() – nyomtatás  Grafikus erőforrások, mint a képernyő esetén  Rajzolás a Printer GC-jére, a szokásos módon  startPage() … endPage() - lapozás

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 81 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose();

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 82 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Alapértelmezett nyomtató

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 83 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Printer objektum létrehozása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 84 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Job indítása

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 85 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Szín előkészítés (piros)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 86 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Kiszámítjuk a nyomtatható méretet

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 87 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Lekérdezzük a felbontást

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 88 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Elhagyunk egy inchet a baloldaltól (margó)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 89 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Elhagyunk fél inchet a lap tetejétől (margó)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 90 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Létrehozzuk a GC-t

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 91 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Elindítjuk az első lapot

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 92 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Kiírjuk a stringet

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 93 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Pirossal bekeretezzük a stringet

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 94 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Vége az oldalnak

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 95 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Vége a jobnak

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 96 Minta PrinterData data = Printer.getDefaultPrinterData(); Printer printer = new Printer(data); if(printer.startJob("SWTPrinting Example")) { Color red = printer.getSystemColor(SWT.COLOR_RED); Rectangle trim = printer.computeTrim(0, 0, 0, 0); Point dpi = printer.getDPI(); int left = dpi.x + trim.x; // 1”from left side of paper int top = dpi.y / 2 + trim.y; // ½”from top edge of p. GC gc= new GC(printer); if(printer.startPage()) { String testString= "Hello World!"; Point extent = gc.stringExtent(testString); gc.drawString(testString, left,top + gc.getFont().getFontData()[0].getHeight()); gc.setForeground(red);gc.drawRectangle(left, top, extent.x, extent.y); printer.endPage();} gc.dispose(); printer.endJob();} printer.dispose(); Eldobjuk a printert (erőforrások felszabadítása)

Budapest University of Technology and Economics Fault-tolerant Systems Research Group 97 SWT - összefoglalás  Natív grafikus keretrendszer −Gyors −Egyszerű −Nincsenek benne nagyon extra dolgok…  Lehetőséget ad −Dialógusok −Menük −Komplett alkalmazások elkészítésére −Nyomtatási feladatok megoldására  Kiterjesztés: JFace