Programozási technológia

Hasonló dokumentumok
Swing GUI készítése NetBeans IDE segítségével

Programozási technológia

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Java Programozás 11. Ea: MVC modell

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Java felhasználói felület

Elektronikus pályázati űrlap (eform) létrehozása - Útmutató

Szoftvertechnológia alapjai Java előadások

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com

Java Programozás 3. Gy: Java GUI. Swing, AWT

Óranyilvántartás (NEPTUN)

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

A feladatok megoldásához felhasználandó osztályok leírásait az alábbi URL-en találja meg:

Access adatbázis elérése OLE DB-n keresztül

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok

VirtueMart bővítmény letölthető termékek eladásához

Stateless Session Bean

Rajz 06 gyakorló feladat

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Java felhasználói felület

HVK Adminisztrátori használati útmutató

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

MATLAB alapismeretek X. Egy összetettebb példa grafikus felhasználói felület (GUI) létrehozására

Concurrency in Swing

FordEcat Gyors útmutató

Swing. (A javax.swing csomag)

Webshop készítése ASP.NET 3.5 ben I.

JAVA PROGRAMOZÁS 5.ELŐADÁS

Dokumentum létrehozása/módosítása a portálon:

Tájékoztató. Használható segédeszköz: -

Cikktípusok készítése a Xarayában

Választó lekérdezés létrehozása

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Rajz 01 gyakorló feladat

Közoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató

HF-DVR H.264 Hálózati Rögzítő. Felhasználói kézikönyv

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Eseményvezérelt és objektumorientált programozás

Molnár Mátyás. Bevezetés a PowerPoint 2010 használatába. Csak a lényeg érthetően!

Kézikönyv ABAS-TOOLS használata

PC Connect. Unique ewsletter. program leírás

Oszkar.com Android alkalmazás v1.2

Mercedes XENTRY Portal Pro interfész

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Tárgyfelvétel előtti órarendi nézet (órarend tervező) a Neptun HWEB-en

Avery Design Pro 4.0

Kifizetések kezelése. 1 Kifizetési dátumok megadása pénzügyi kódokhoz

CGS Civil 3D Extensions 2012 telepítése

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

Eseményvezérelt alkalmazások

Nyolcbites számláló mintaprojekt

munkafüzet open eseményéhez

ONLINE SZAKÉRTŐI KERETRENDSZER

A számítógép beállításainak megváltoztatása

ÚJDONSÁGOK AZ FLP WEBSHOPBAN

Felhasználói kézikönyv

Delphi programozás I.

Rövid leírás a Make Your Mark szoftver használatához

Alap számológép alkalmazás

OpenVPN kliens telepítése a RITEK Zrt. szervereinek eléréséhez.

A Poszeidon Ügyviteli és Iktatási Rendszer felhasználói oktatásának lépései röviden

Programozási technológia I. programból! A Gomb4 megoldásból induljunk ki!

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

C#---Access adatbáziskezelési gyakorlat

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

SQL Backup and FTP. A program telepítésének menete. A szoftvert a következő weboldalról ingyenesen tölthető le:

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Tisztelt Felhasználó!

Mio Technology Limited C510, C710. Gyors használati utasítás a Mio Map v3 programhoz. Magyar

Citációs index időintervallumra DE MTMT Adminisztrátorok

A Microsoft, a Windows, a Windows NT, a Windows NT Workstation a Microsoft Corporation bejegyzett védjegye vagy védjegyei az Egyesült Államokban

E-Freight beállítási segédlet

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Mintatantervek karbantartása. Felhasználói dokumentáció verzió 2.0.

A WEB CONTROL / TARTALOMSZŰRÉS AKTIVÁLÁSA

Teljesítményértékelések eredményeinek rögzítése a Neptun Egységes Tanulmányi Rendszerben

Első lépések. File/New. A mentés helyét érdemes módosítani! Pl. Dokumentumok. Fájlnév: pl. Proba

Thermo1 Graph. Felhasználói segédlet

Ubuntu Érettségi Remix Telepítési és beállítási leírás. Ágazati szakmai komplex távközlési ismeretek érettségihez

Útmutató szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletekhez

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Csavarda mobil áruház

Egyszerű alkalmazás fejlesztése JDeveloperben

1 "Ház/Home" gomb lenyomás 2 "Beállítások" kiválasztása le nyilakkal 3 "Auto. Hangolás" kiválasztása jobbra nyillal 4 OK gomb megnyomása 5 "Antenna"

Átírás:

Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018.

Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az eseménykezelők implementálása és azoknak a megfelelő grafikus vezérlőelemekhez rendelése. Szeretnénk, hogy grafikus tervező felületen készíthessük el a felhasználói interfészeket, és az eseménykezelőket még a tervezőben hozzárendelhessük a vezérlőelemekhez (nekünk csak azok megvalósításával kelljen foglalkoznunk). 2

Bevezető A NetBeans IDE fejlesztő környezet mindkét elvárást teljesíti (ha Swing GUI-t akarunk készíteni). Nincs szükségünk a LayoutManager működésének megértésére. Egyszerű húzd és ejtsd (Drag&Drop) módon helyezhetjük el a kívánt vezérlő elemeket a form-on. A tervező segítségével a GUI készítés gyorsabbá tehető. 3

Projekt létrehozása Készítsünk egy egyszerű form-ot, amin megadhatjuk egy személy névjegyét. Hozzunk létre egy új projektet a NetBeans-ben (File > New Project) Válasszuk a Java-t a kategóriák közül, majd a Java Application-t a projektekből Legyen a projekt neve ContactEditor Use Dedicated Folder for Storing Libraries: Nem Create Main Class: Igen Kattintsunk a Finish gombra 4

JFrame létrehozása A programunk felhasználói felületének vezérlőelemeit a JFrame tartalmazza, amit a következő módon hozunk most létre: A projekt ablakban kattintsunk jobb gombbal a projektünk nevére (ContactEditor), majd válasszuk a New > JFrame Form... -ot Osztálynév: Csomag neve: ContactEditorUI Kattintsunk a Finish gombra my.contacteditor 5

GUI Builder A JFrame létrehozása után a NetBeans átvált a GUI tervező nézetbe, és megjelennek a főbb ablakai: Tervező ablak: Itt helyezhetjük el a vezérlőelemeket a formon, Source gomb: megnézhetjük az osztály forráskódját Design gomb: átválthatunk a grafikus megjelenítésre History gomb: eddigi változtatások listája Navigátor ablak: Tartalmazza az összes komponenst (a láthatóakat és nem láthatóakat egyaránt) egy fa szerkezetben. Palette ablak: Tartalmazza a használható vezérlő komponenseket, layout menedzsereket kategóriákba rendezve A tartalmát átrendezhetjük Properties ablak: megmutatja a kiválasztott vezérlőelem tulajdonságait 6

GUI Builder 7

GUI kialakítása Beviteli mezők Tegyünk a formra egymás alá két JPanel-t A JPanel Properties ablakában a Border-t választva a megjelenő ablakban válasszuk a Titled Border-t Adjuk meg a text mezőben a keret címkéjét (Név, E-Mail) Adjuk hozzá a Név kerethez a következőket: 'Vezetéknév' feliratú címke(jlabel) Szövegbeviteli mező a vezetéknévnek (JTextField) 'Utónév' feliratú címke (JLabel) Szövegbeviteli mező az utónévnek (JTextField) Adjuk hozzá az E-Mail kerethez a következőket: 'E-Mail cím' feliratú címke (JLabel) Szövegbeviteli mező az E-Mail címnek (JTextField) E-Mail címek listája (JList) 8

GUI kialakítása Beviteli mezők 9

GUI kialakítása Kezelőgombok Egészítsük ki a form-ot a megfelelő funkciókhoz tartozó gombokkal: Hozzáad Szerkeszt Eltávolít (JButton) (JButton) (JButton) Alaphelyzet (JButton) 10

GUI kialakítása Kezelőgombok 11

GUI kialakítása Rádiógombok A form alján adhassuk meg, hogy milyen típusú levelet kaphat a személy az adott E-Mail címére: 'E-Mail formátuma:' 'HTML' (JLabel) (JRadioButton) 'Egyszerű szöveges' (JRadioButton) 'Egyéni' (JRadioButton) 12

GUI kialakítása Rádiógombok 13

GUI kialakítása Rádiógombok A rádiógombok csak akkor alkotnak egy csoportot, ha azokat egy gomb csoporthoz társítjuk (ButtonGroup). A Palette ablakban válasszuk ki a ButtonGroup komponenst és kattintsunk a form egy tetszőleges helyére. A rádió gombok egy csoportba fogásához jelöljük ki mindhármat egyszerre, majd a Properties ablakban állítsuk be a buttongroup tulajdonság legördülő menüjében az imént létrejött buttongroup1 komponenst. 14

GUI Builderrel generált kód A GUI Builder által generált kód a tervezőben a Source gomb megnyomásával érhető el. A formon elhelyezett valamennyi komponensnek a változóját megtaláljuk a ContactEditorUI.java fájl végén, a hozzájuk kapcsolódó elrendezéseket pedig a NetBeans az initcomponents függvényben helyezi el. A létrehozott osztály konstruktora kezdetben csak egyetlen hívást tartalmaz az initcomponents függvényre. Az osztályban automatikusan generálódik egy main függvény is, aminek a segítségével közvetlenül is futtathatjuk a létrehozott formból álló alkalmazásunkat. (Ehhez azonban a projekt beállítások között be kell állítanunk a main class-nak a ContactEditorUI osztályt, vagy Shift+F6-al kell futtatnunk a projektet.) 15

GUI Események kezelése Ahhoz, hogy a létrehozott gombokhoz tevékenységeket adhassunk meg, hozzá kell rendelnünk egy eseménykezelőt az egyes eseményekhez. Ehhez ActionListener-t fogunk rendelni ActionEvent-ekhez. Jobb egérgombbal kattintsunk a 'Hozzáad' gombra a formon. Válasszuk az Events > Action > actionperformed-ot. A tervező automatikusan hozzáadja a gombhoz az ActionListener-t és legenerálja az eseménykezelő függvényt a listener actionperformed metódusához. private void btnaddactionperformed(actionevent e){ } // TODO add your handling code here 16

GUI Események kezelése A kódban az eseménykezelő nem törölhető, ezért ha erre van szükségünk, akkor a tervezőben válasszuk ki a gombot, majd a tulajdonságok között az Events lapon állítsuk vissza az actionperformed-ot <none>-ra. Az eseménykezelők nevei mindig a vezérlőelem változónevéből és az esemény nevéből generálódnak, ezért is érdemes a vezérlőelemek neveit már a létrehozáskor megváltoztatni. A vezérlőelem neve, amit a paraméter ablakban adhatunk meg, nem tévesztendő össze a vezérlőelemhez tartozó változó nevével! A vezérlőelemhez tartozó változó nevét a vezérlőelemre jobb egérgombbal való kattintáskor megjelenő menü Change Variable Name... pontjával változtathatjuk meg. 17

GUI Hozzáad gomb private void btnaddactionperformed(actionevent evt) { DefaultListModel model; try { model = (DefaultListModel)listEmails.getModel(); } catch (ClassCastException e) { model = new DefaultListModel(); listemails.setmodel(model); } model.addelement(txtfieldemailaddress.gettext()); } 18

GUI Szerkeszt gomb private void btneditactionperformed(actionevent evt) { DefaultListModel model; try { model = (DefaultListModel)listEmails.getModel(); int i = listemails.getselectedindex(); if (i == -1) return; model.setelementat(txtfieldemailaddress.gettext(), i); } catch (ClassCastException e) { } } 19

GUI Eltávolít gomb private void btnremoveactionperformed(actionevent evt) { DefaultListModel model; try { model = (DefaultListModel)listEmails.getModel(); int i = listemails.getselectedindex(); if (i!= -1) model.removeelementat(i); } catch (ClassCastException e) { } } 20

GUI Alaphelyzet gomb private void btndefaultactionperformed(actionevent evt){ try { listemails.setmodel(new DefaultListModel()); } catch (ClassCastException e) { } } 21

GUI Listaelem kiválasztása A szerkesztés funkcióhoz általában társul az is, hogy a listában kiválasztott elem tartalma megjelenik a szerkesztő mező(k)ben. Ehhez egy eseménykezelőt kell rendelnünk a listához. Kattintsunk a tervezőben a listára a jobb egér gombbal, majd a menüben válasszuk ki az Events > ListSelection > valuechanged eseményt. 22

GUI Listaelem kiválasztása Írjuk be az alábbi kódot a megvalósításhoz: private void listemailsvaluechanged(listselectionevent evt) { DefaultListModel m; try { m = (DefaultListModel)listEmails.getModel(); int i = listemails.getselectedindex(); if (i!= -1) { txtfieldemailaddress.settext(m.getelementat(i).tostring()); } } catch (ClassCastException ex) { } } 23