Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaImre Mészáros Megváltozta több, mint 10 éve
1
Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt fejlesztőrendszerek Felhasználói felületek Balogh András
2
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 2 Házi feladat Feladat −Eclipse plugin készítés −Témalista a weben – jövő héten −Nehézségtől függő értékelés −Csapatmunka lehetséges (2-3 főig, behatárolt részfeladatok!) Ütemezés −4. hét vége: pontos specifikáció −Utolsó tanítási hét: beadás −Vizsgaidőszakban nincs házi feladat beadás!!!
3
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 3 Java-alapú felhasználói felület AWT (Abstract Widgeting Toolkit) −Az első −Alacsony szintű elemek −Egyszerű esemény modell (event-listener) −Már elavult (SUN)
4
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 4 Java-alapú felhasználói felület Swing −„AWT magasabb szinten” −Komplex GUI elemek −Összetettebb esemény modell, többszálúság −Ma ez a javasolt (általában - SUN) −Java-ban megírt komponensek
5
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 5 Java-alapú felhasználói felület AWT, Swing hátrányok −Lassú −„nem úgy néz ki, mint a Word” probléma ●Nem veszi át a WM look-and-feel beállításait ●Általában a nyelvi beállításokat sem (feltétlenül) ●„Nem szép” (felhasználói élmény) −Jelentős mennyiségű erőforrást (memória) emészt fel (Swing) −Alacsony szintű (AWT)
6
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 6 Java-alapú felhasználói felület SWT – Standard Widgeting Toolkit −A Swing helyett… −Az Eclipse projekt indulásakor kezdték fejleszteni −Előzmény: natív GUI komponensek elérése Smalltalk alól (OTI) −Cél: gyors, natív elemekből épített GUI keretrendszer
7
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 7 Java-alapú felhasználói felület SWT −Natív ●A platform API-t használja ●Minden platformra portolni kell ●Gyors ●Azonos look-and-feel a többi (natív) alkalmazással ●OLE, Drag-n-drop,… támogatás ● kis különbségek a platformok között lehetnek
8
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 8 Java-alapú felhasználói felület SWT −Átgondolt struktúra ●Egyszerű komponensek ●Hierarchikus szerkezetek ●Átlátható esemény-kezelés ●Átlátható API −Bővíthető ●Saját widget-ek (nem natív) ●Optimális funkció-teljesítmény arány érhető el
9
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 9 Java-alapú felhasználói felület SWT alapelemek −Display ●Egy „munkaállomást reprezentál” (monitor(ok), egér, billentyűzet) ●Az esemény-szétosztásért felel ●Tartalmazza a felső szintű Shell és Monitor objektumokat −Shell ●Egy „ablak”-ot reprezentál ●Composite-ek és Control-ok hierarchiájának a gyökere
10
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 10 Java-alapú felhasználói felület SWT alapelemek −Composite ●Olyan elem, mely más elemeket (composite, control) tartalmazhat (konténer) −Control ●Egy operációs rendszer szintű vezérlőt reprezentál ●Button, Label, … ●A Shell és Composite is ez −Az összes osztály a Widget osztályból származik
11
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 11 Java-alapú felhasználói felület SWT alapelemek −Esemény-hurok ●Explicit – az alkalmazásban le kell kódolni ●Egy ciklusban olvassuk a bejövő eseményeket, és feldolgozzuk őket ●Ha az alkalmazás véget ér (a főablak bezárásra kerül) abbahagyhatjuk ●Az idősebbeknek: Windows API programozás
12
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 12 Java-alapú felhasználói felület SWT alapelemek −Esemény-hurok while(!shell.isDisposed()){ if(!display.readAndDispatch()) display.sleep (); }
13
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 13 SWT események Mi is az esemény? −Minden történés, ami érdekes lehet −A felhasználó vagy az operációs rendszer generálja −A listenerek kapják el az eseményeket −Kétféle listener ●Típus nélküli ●Típusos
14
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 14 SWT események Típus nélküli listener −addListener(int, Listener) ●A típus adja meg a szűrőt ●Csak az ennek megfelelő események továbbítódnak −Listener ●handleEvent(Event) −notifyListeners(int, Event) ●Programozott esemény-küldés
15
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 15 SWT események Típusos listener −addXYZListener(XYZListener) ●Csak addot típusú listener adható meg −Listener ●Specifikus metódusok ●Specifikus argumentumokkal −„objektum-orientáltabb…” −Adapter osztályok ●Ősosztályként a listenereknek
16
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 16 SWT események Ha több listenert adunk meg valahol, a megadás sorrendjében hívódnak meg Ha többször adtuk hozzá ugyanazt, többször hívódik meg Ha többször adtuk hozzá, többször is kell elvenni
17
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 17 Billentyűzet „Keyboard focus” – a billentyűleütések célpontja (control) −setFocus() −isFocusControl() −forceFocus() Események −KeyDown −KeyUp FocusEvent - FocusListener
18
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 18 Billentyűzet SWT konstans a speciális karaktereknek −BS, CL, ESC, DEL, LF, TAB stateMask – különleges gombok állapota −SHIFT, ALT, CTRL, COMMAND „Traversal key” −Utazás a kontrollok között −A kontroll dönt a feldolgozásról (nem accelatorKey) pl. &File
19
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 19 Billentyűzet AcceleratorKey – gyorselérés −Kontrollhoz kötjük ●setAccelerator(int) ●Karakter + módosító maszk Window Manager rendszer-billentyű események −Pl. Alt+F4 −Az ablakkezelő rendszer „elnyeli” −Nem jut el a programhoz
20
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 20 Egér Tipikus mutatóeszköz −1-2-3-sok gomb −Az aktuális pozíciót kurzor jelzi a képernyőn −A kurzor változó alakú ●Az alatta levő elemtől (is) függően Események −Enter, Exit, Down, Up, Move, Hover, DoublClick
21
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 21 Egér Esemény-elemek −Koordináták – control-relatív −Button – az akcióban résztvevő gomb −Gomb maszk – A stateMask része ●BUTTON1, BUTTON2, BUTTON3 ●BUTTON_MASK −State maszk – a billentyűzet-infó is!
22
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 22 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17}
23
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 23 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} SWT könyvtárak
24
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 24 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} Referencia a képernyőre
25
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 25 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} Új ablak a képernyőn
26
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 26 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} Ablak címe
27
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 27 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} Ablak mérete
28
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 28 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} Ablak megnyitása
29
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 29 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} Esemény- hurok
30
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 30 SWT Hello World 1 import org.eclipse.swt.*; 2 import org.eclipse.swt.graphics.*; 3 import org.eclipse.swt.widgets.*; 4 public class HelloWorld{ 5 public static void main(String[] args) { 6 Display display = new Display(); 7 Shell shell = new Shell(display); 8 shell.setText("Hello, World!"); 9 shell.setSize(200, 100); 10 shell.open (); 11 while (!shell.isDisposed()) { 12 if (!display.readAndDispatch()) 13 display.sleep (); 14 } 15 display.dispose (); 16 } 17} Erőforrások eldobása
31
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 31 SWT architektúra Platform Interface −Java Native Interface segíségével hívja a platform API-t (c) −Egy-az-egyhez leképzés ●Ugyanazon függvényneveket és paramétereket használja, mint a platform ●Ugyanazokaz az elnevezési konvenciókat is használja −Minden számottevő részlet már a Java kódban −Aki ismeri az adott platform API-t, egyszerűen portolhatja a SWT-t
32
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 32 SWT Runtime A futtatáshoz két dolog kell −SWT jar fájlok ●Swt.jar – az SWT alap csomagja ●Egyéb, platform-függő jar fájlok ●A fordításhoz a javac-nak el kell tudni érni ezeket −SWT osztott könyvtárak ●Az SWT Platform Interface-t (PI) tartalmazzák ●Platform specifikus nevek, pl. swt-XX.dll Windows alatt, vagy libswt-XX.ao Linux alatt ●Az egyéb, platform-függő libek halmaza
33
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 33 SWT és Web 2.0 – RAP (Rich Ajax Platform) SWT-szerű widget-ek webre Aszinkron működés (AJAX) Előnyök −Könnyű portolás SWT-ről −Nem-GUI komponensek 1-1 felhasználhatóak −„több-ablak” kezelés −Magas szintű szolgáltatások automatikusan rendelkezésre állnak Inkubációs fázisban −http://eclipse.org/rap
34
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 34 SWT és Web 2.0 – RAP (Rich Ajax Platform)
35
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 35 SWT és Web 2.0 – RAP (Rich Ajax Platform) public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout(1, true)); new Label(composite, SWT.LEFT).setText("Do you have complaints?"); Composite yesNo = new Composite(composite, SWT.NONE); yesNo.setLayout(new FillLayout(SWT.VERTICAL)); yes = new Button(yesNo, SWT.RADIO); yes.setText("Yes"); yes.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { setPageComplete(true); setErrorMessage(null); } }); no = new Button(yesNo, SWT.RADIO); no.setText("No"); no.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { setPageComplete(true); setErrorMessage(null); } }); setControl(composite); }
36
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 36 SWT Belülről
37
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 37 SWT Belülről – Az SWT osztály Minden SWT konstans −SWT.PUSH, SWT.RADIO −SWT.Selection Fontos metódusok −getPlatform() −getVersion() −error() Megjegyzés −Platform – string (pl. „win32”, „gtk”) −Verzió – int
38
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 38 SWT Belülről – Az SWT hibák Háromféle kivétel SWTError – kritikus, végzetes hiba −Code – az SWT hibakód −Throwable – a kivétel, ami a hibát okozta −getMessage() – a hiba szöveges leírása SWTException −Akkor dobja, ha kevésbé kritikus hiba történt −Ugyanazok a mezők, mint fent IllegalArgumentException −Hibás bemenő paraméter esetén
39
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 39
40
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 40 Widget konstruktorok Widgeteknek mindig van szülőjük Tipikus konstruktor: Widget(parent,style) Stílusok az SWT konstansok kombinációi (bitszintű vagy) Példák −new Label(shell,SWT.NONE); −Button push = new Button(shell,SWT.PUSH); −Button radio = new Button(shell,SWT.RADIO); Kivétel: shell szülője shell vagy display
41
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 41 Widget Minden UI osztály közös absztrakt őse Konstruktorral példányosítjuk (nem factory) −Létrehozáskor az OS erőforrások lefoglalódnak Törlés programozottan (dispose) vagy felhasználói művelet során −Elengedi az OS erőforrásokat Alkalmazás-specifikus adatokat lehet tárolni benne: getData()/setData()
42
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 42 Widget - adattag setData(Object) – getData() −Egyetlen objektum tárolása setData(String,Object) – getData(String) −Kulcs-érték párok tárolása −Sok érték esetén lassú (memória-optimalizált) Kitűnően alkalmazható az MVC patternbeli model felé történő referencia tárolására Egyszerűbb programozás
43
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 43 Elemek törlése Az erőforrás-alapú elemeket explicit módon meg kell semmisíteni Ilyenek: Widgetek, Color, Cursor, Font, GC, Image, Region, Device, … 1. SZABÁLY: Te csináltad, te semmi- síted meg! −A programozó semmisíti meg: ●Font font = new Font(…); −A programozó nem semmisítheti meg! ●Font font = control.getFont();
44
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 44 Elemek törlése 2. SZABÁLY: Egy elem megsemmi- sítése, megsemmisíti a gyerekeit is! −shell.dispose() – az ablak minden eleme −menu.dispose() – a menü minden eleme −tree.dispose() – a fa minden eleme megsemmisül −Fontos: Control.dispose() és menuItem.dispose() esetén A beállított (setMenu()) menü is törlődik!
45
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 45 Control Ősosztály minden „nehézsúlyú” UI elemnek Stílusok −BORDER, LEFT_TO_RIGHT, RIGHT_TO_LEFT Események −FocusIn, FocusOut, KeyDown, KeyUp, Traverse, MouseDown, MouseUp, MouseDoubleClick, MouseEnter, MouseExit, MouseMove, Move, Resize, Paint, Help
46
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 46 Shell – Az ablak New Shell(display, SWT.SHELL_TRIM); New Shell(shell, SWT.DIALOG_TRIM); Stílusok −BORDER, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE, APPLICATION_MODAL, MODELESS, PRIMARY_MODAL, SYSTEM_MODAL Események −Activate, Close, Iconify, DeIconify, Deactivate
47
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 47 Shell – Az ablak New Shell(display, SWT.SHELL_TRIM); New Shell(shell, SWT.DIALOG_TRIM); Stílusok −BORDER, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE, APPLICATION_MODAL, MODELESS, PRIMARY_MODAL, SYSTEM_MODAL Események −Activate, Close, Iconify, DeIconify, Deactivate
48
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 48 Shell – Az ablak Metódusok −open() −close() −setActive() Megjegyzés −A legfelső ablak szülője a display −Dialógusok szülője a felsőbb szintű ablak
49
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 49 Label New Label(parent, SWT.NONE); Statikus szöveg vagy kép megjelenítése Stílusok −WRAP, LEFT, CENTER, RIGHT, SEPARATOR, HORIZONTAL, VERTICAL, SHADOW_IN, SHADOW_OUT Fontos metódusok −setText(String) −setImage(Image) −setAlignment(Left |Center | Right)
50
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 50 Button New Button(parent, SWT.PUSH); Többféle gomb megjelenítése Stílusok −ARROW, CHECK, PUSH, RADIO, TOGGLE, FLAT, UP, DOWN, LEFT, CENTER, RIGHT Események −Kiválasztás
51
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 51 Button Metódusok −setText(String) −setImage(Image) −setAlignment(int) −setSelection(boolean) – check, radio és toggle Megjegyzés −Rádió gombok csoportosíthatóak −Az „arrow” gombok iránnyal rendelkezhetnek
52
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 52 Példa public static void main(String[] args) { Display display = Display.getDefault(); MyDlg thisClass = new MyDlg(); thisClass.createSShell(); thisClass.sShell.open(); while (!thisClass.sShell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
53
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 53 Példa private void createSShell() { sShell = new Shell(); sShell.setText("Shell"); sShell.setLayout(new GridLayout()); sShell.setSize(new org.eclipse.swt.graphics.Point(90,127)); label1 = new Label(sShell, SWT.NONE); label1.setText("Some Text"); ílabel2 = new Label(sShell, SWT.SEPARATOR | SWT.HORIZONTAL); label2.setText("Label"); checkBox = new Button(sShell, SWT.CHECK); checkBox.setText("check"); button = new Button(sShell, SWT.NONE); button.setText("PushMe"); }
54
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 54 Text Szövegbeviteli komponens (család) −Egy- vagy többsoros Stílusok −SINGLE, MULTI, READ_ONLY, WRAP, LEFT, CENTER, RIGHT, PASSWORD Események −Modify, Verify, DefaultSelection (Enter)
55
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 55 Text Metódusok −setText(String) −setSelection(int,int) −cut(), copy(), paste() −insert(String), append(String) −getLineCount(), getLineHeight() Megjegyzés −Kurzor (caret) jelzi az aktuális beviteli pontot −Indexek 0 bázisúak
56
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 56 StyledText Formázott szöveg – nem natív! −new StyledText(parent, style) Stílusok −SINGLE, MULTI, READ_ONLY, WRAP, FULL_SELECTION Események −DefaultSelection, Modify, Verify, ExtendedModify Akciók −invokeAction(int act) −setKeyBinding(int key, int act)
57
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 57 StyledText Statikus tartalom manipuláció −setText(String) −setLineBackground(int, int, Color) −setStyleRanges(StyleRange[]) Dinamikus tartalom manipuláció −setContent(StyledTextContent) ●Saját tároló implementáció −addLineBackgroundListener(…) −addLineStyleListener(…) Megjegyzés −Példák: TextEditor, JavaEditor (eclipse.org)
58
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 58 Composite Konténer más elemek tárolására −new Container(parent, SWT.NONE) Stílusok −NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_RADIO_GROUP, NO_REDRAW_RESIZE
59
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 59 Composite Metódusok −getChildren() −setLayout(Layout) −layout(boolean) −setTabList(Control[]) Megjegyzés −Lehetnek gyermekei −Lehet layout-ja −Örököltethető, hogy saját elemeket hozhassunk létre
60
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 60 Canvas Festővászon new Canvas(parent,style) Szabad grafika készítésének alapja Saját kurzor (Caret) lehet benne Rajzolás −Saját alrendszer az SWT-ben −Később!
61
Budapest University of Technology and Economics Fault-tolerant Systems Research Group 61 Item Általános elem osztály Mindig felsorolás jellegű elemen belül −Tree -> TreeItem −Menu -> MenuItem Általános metódusok −setText(String) −setImage(Image)
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.