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

Hasonló dokumentumok
Programozási technológia

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

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

Programozási technológia

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

Szoftvertechnológia alapjai Java előadások

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

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

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

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

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

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

Stateless Session Bean

Java felhasználói felület

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

Rajz 06 gyakorló feladat

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

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

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

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

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

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

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

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

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

Rajz 01 gyakorló feladat

Óranyilvántartás (NEPTUN)

Concurrency in Swing

Grafikus felhasználói felületek, eseménykezelés

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

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

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

FordEcat Gyors útmutató

Kézikönyv ABAS-TOOLS használata

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

Avery Design Pro 4.0

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

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

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

JAVA PROGRAMOZÁS 5.ELŐADÁS

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

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

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

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

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

Mercedes XENTRY Portal Pro interfész

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

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

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

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

Eseményvezérelt alkalmazások

Swing. (A javax.swing csomag)

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

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

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

A WORDPRESS TESTRESZABÁSA (MEGJELENÉS MENÜ ELEMEI)

munkafüzet open eseményéhez

ÚJDONSÁGOK AZ FLP WEBSHOPBAN

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

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

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.

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

Entity Framework alapú adatbáziselérés 2

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

Tisztelt Felhasználó!

ONLINE SZAKÉRTŐI KERETRENDSZER

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {

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

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

Vizuális programozás gyakorlat

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

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

Nyolcbites számláló mintaprojekt

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

BŐVÍTMÉNYEK TELEPÍTÉSE ÉS SZERKESZTÉSE WORDPRESS-BEN

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

Delphi programozás I.

RAJZ1. vezetett gyakorlat

NEPTUN GUIDE. Erasmus+ hallgatói mobilitásra jelentkezéshez (Európai Unió tagországai, plusz EGT közösségi országok)

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

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.

ArcGIS 8.3 segédlet 5. Dr. Iványi Péter

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

Autodesk Inventor Professional New Default Standard.ipt

U42S Felhasználási példák Gitárjáték rögzítése

Szoftvertechnolo gia gyakorlat

Egyszerű alkalmazás fejlesztése JDeveloperben

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

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

Csavarda mobil áruház

Változás bejelentés / támogatási szerződésmódosítási kérelem beadása

Átírás:

Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1

Tartalom 1 2 2

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). 3

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 gyorsabbá tehető. 4

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 5

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: ContactEditorUI Csomag neve: my.contacteditor Kattintsunk a Finish gombra 6

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 7

8

GUI kialakítása Tegyünk a formra egymás alá két JPanel-t A JPanel Properties ablakában a Border-t választva a megjelenő ablak listájában 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) 9

10

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

12

GUI kialakítása 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: (JLabel) HTML (JRadioButton) Egyszerű szöveges (JRadioButton) Egyéni (JRadioButton) 13

14

GUI kialakítása 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. 15

A á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 automatikus 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.) 16

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. A megjelenő menüben 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( java.awt.event.actionevent evt) // TODO add your handling code here: 17

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. 18

private void btnaddactionperformed( java.awt.event.actionevent evt) DefaultListModel model; try model = (DefaultListModel)listEmails.getModel(); catch (java.lang.classcastexception e) model = new DefaultListModel(); listemails.setmodel(model); model.addelement(txtfieldemailaddress.gettext()); 19

private void btneditactionperformed( java.awt.event.actionevent evt) try DefaultListModel model = (DefaultListModel)listEmails.getModel(); int index = listemails.getselectedindex(); if (index == -1) return; model.setelementat(txtfieldemailaddress.gettext(), index); catch (java.lang.classcastexception e) 20

private void btnremoveactionperformed( java.awt.event.actionevent evt) try DefaultListModel model = (DefaultListModel)listEmails.getModel(); int index = listemails.getselectedindex(); if (index!= -1) model.removeelementat(index); catch (java.lang.classcastexception e) 21

private void btndefaultactionperformed( java.awt.event.actionevent evt) try listemails.setmodel(new DefaultListModel()); catch (java.lang.classcastexception e) 22

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. 23

Írjuk be az alábbi kódot a megvalósításhoz: private void listemailsvaluechanged( javax.swing.event.listselectionevent evt) try DefaultListModel model = (DefaultListModel)listEmails.getModel(); int index = listemails.getselectedindex(); if (index!= -1) txtfieldemailaddress.settext( model.getelementat(index).tostring()); catch (java.lang.classcastexception e) 24