Java programozási nyelv 8. rész Grafikus felhasználói felület



Hasonló dokumentumok
VI. Grafikus Java alkalmazások

JAVA PROGRAMOZÁS 5.ELŐADÁS

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

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.

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

Grafikus felületek készítése 1.

Operációs rendszerek

Access 2010 Űrlapok és adatelérés

Tartalomjegyzék 3 TARTALOMJEGYZÉK

Széchenyi István Szakképző Iskola

Poszeidon (EKEIDR) Irat és Dokumentumkezelő rendszer webes felület

AUTOMATIKUS GÉPJÁRMŰ BELÉPTETŐ RENDSZER

ALAPISMERETEK...6 A MICROSOFT ACCESS INDÍTÁSA...14 AZ ABLAK...14 MEGNYITÁS...16 TÁBLÁK...17 LEKÉRDEZÉSEK...18

KELE3. Felhasználói kézikönyv

Java programozási nyelv 7. rész Java osztálykönyvtár 1.

Integrált ügyviteli rendszer: Kettős könyvelés modul

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

Objektumorientált programozás C# nyelven

Eseménykezelés Java környezetben, AWT alapok

Microsoft Office 2010

Készítette: Citynform Informatikai Zrt.

BBS-INFO Kiadó, 2013.

INFOTECHNOLÓGIA I. Operációs rendszer működése, használata

II. év. Adatbázisok és számítógépek programozása

JAVA PROGRAMOZÁS 4.ELŐADÁS

eseményvezérelt megoldások Vizuális programozás 5. előadás

Szoftvertechnológia alapjai Java előadások

GroupWise 5.2 használói jegyzet

Információ és kommunikáció Microsoft Windows XP

Programozás III GRAFIKA RAJZOLÁS SWING FELÜLETEN RAJZOLÁS GRAFIKA HASZNÁLATA. Rajzolni az awt csomag Graphics osztályának metódusaival tudunk.

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

Aronic Főkönyv kettős könyvviteli programrendszer

Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

NT-SERIES SUPPORT TOOL (NT-TERMINÁL PROGRAMOZÓ SZOFTVER) RÖVID FELHASZNÁLÓI ÚTMUTATÓ OMRON

Az Excel programozása

Szakmai program 2015

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

5. modul - Adatbázis-kezelés

Java felhasználói felület

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

Országos Egészségbiztosítási Pénztár

MAGYAR POSTA BEFEKTETÉSI ZRT. e-befektetés. Felhasználói kézikönyv

Word 2010 magyar nyelvű változat

Felhasználói leírás v1.0

Új bemutató diasor létrehozása

Bártfai Barnabás. Office 2010

FELHASZNÁLÓI ÚTMUTATÓ

Az evangélikus honlapszerkesztő rendszer használata

FELHASZNÁLÓI KÉZIKÖNYV

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

Objektum orientált alapelvek

Vényírás. 1. ábra. 1. oldal

Laser Distancer LD 500. Használati utasitás

Haladó DBMS Radványi, Tibor

ETR Pénzügyi közönségszolgálat

Adatbázisok és adattárházak az információs rendszerek adatkezelői

Szövegszerkesztés MS Office 2000-rel

AutoCAD alapozó tanfolyam

CIB Elektronikus Terminál

A könyv tartalomjegyzéke

Operációs rendszerek. A Windows NT felépítése

S Z O F T V E R E N G E D É L Y E Z É S I S Z E R ZŐDÉS

Tarokk Regiszter. Tartalom

ÁEEK Kataszter. Felhasználói útmutató

Származtatási mechanizmus a C++ nyelvben

1. ábra. Néhány tipikus ikon képe

- láda- vagy játékleírásból láda/játéklistába visszatérve nem a lista elejére ugrik, hanem ugyanoda, ahol voltunk a listában

Java felhasználói felület

WWW MULTIMÉDIA INTERFÉSZ ADATBÁZISHASZNÁLATHOZ AZ INTERNETEN

TÁMOP VIR alprojekt VIR felhasználói kézikönyv

VBexpress 5.0. for AutoCAD. Vasbetonterv szerkesztő alkalmazás AutoCAD 2000 AutoCAD 2007 programokhoz. Kézikönyv. Készítette: Papp Ernő, Müller Tamás

Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.

Tájékoztató. szolgáltató székhelye: 7696 Hidas, Dózsa György u. 12. a szolgáltató elérhetőségére vonatkozó adatok: info@yuva.hu

Tájékoztató e-közmű regisztrációhoz

C++ programozási nyelv

Tervezett erdőgazdálkodási tevékenységek bejelentése

KETTŐS KÖNYVELÉS PROGRAM CIVIL SZERVEZETEK RÉSZÉRE

Destour Outdoor 2.0 felhasználói kézikönyv

Felhasználói kézikönyv. NAVIGON 14xx 24xx. Magyar szeptember

ZH mintapélda. Feladat. Felület

Magas szintű programozási nyelvek 2 Előadás jegyzet

VII. Appletek, grafika

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Az ILIAS újdonságai

Informatika szintmérő-érettségi tételek február

INFORMATIKA HELYI TANTERV

INFORMATIKAI ALAPISMERETEK

KITÖLTÉSI ÚTMUTATÓ, SEGÉDLET

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

Kari Adminisztrátor. Funkcionális leírás

2. modul. Operációs rendszerek és fájlkezelés 2. MODUL OPERÁCIÓS RENDSZEREK ÉS FÁJLKEZELÉS

Unix alapú operációs. rendszerek ELŐADÁS CÍME. Göcs László mérnöktanár. 2. előadás. KF-GAMF Informatika Tanszék

FELHASZ ÁLÓI KÉZIKÖ YV. Számlázó programhoz

Rapidturn: Két kézikerekes eszterga

Oracle BI Administration Tool. Repository felépítése

A rendszer általános áttekintése

ICN 2005 ConferControl

NVE-M300P Navigációs modul felhasználói kézikönyv

Átírás:

Java programozási nyelv 8. rész Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17

Tartalomjegyzék Összetett alkalmazások felépítése Grafikus felhasználói felületek - GUI Objektum orientált felhasználói felület Eseményvezérelt programozás A GUI kialakítása Java-ban Layout Manager - Elrendezés manager AWT segédosztályok Eseménykezelés Interfész - Interface A Java programozási nyelv Soós Sándor 2/17

Összetett alkalmazások felépítése Háromrétegű alkalmazások: Adatbázis Alkalmazás Felhasználói felület A három réteg teljesen különválasztható, vagy tetszőleges módokon összeolvasztható. Egyik véglet: a három réteg egyben van Másik véglet: adatbázis szerver alkalmazás szerver felhasználói felület (a mai órán ezzel foglalkozunk) Logikailag és fizikailag is szétválnak, akár külön gépeken futnak A Java programozási nyelv Soós Sándor 3/17

Felhasználói felület Hagyományos, szekvenciális működésű programok Kérdés válasz kérdés válasz általában karakteres felületű, de nem ez a lényeg a felhasználó akkor avatkozhat be, ha a program kérdést tesz fel Igazi interaktivitás a program működik, végzi a munkáját a felhasználó bármikor beavatkozhat az adatbevitel sem szekvenciális, űrlapokat töltünk ki, az egyes mezőket tetszőleges sorrendben tölthetjük ki, végül egy gombnyomással jelezzük a bevitel végét. Így működnek a mai grafikus felhasználói felületek A Java programozási nyelv Soós Sándor 4/17

Grafikus felhasználói felületek GUI (Graphical User Interface) A felhasználó szempontjából: Színes, grafikus, jól átlátható felület Ablaktechnika Egérkezelés A programozó szempontjából: Objektumorientált programozás Eseményvezérelt programozás A Java programozási nyelv Soós Sándor 5/17

Objektum orientált felhasználói felület A felhasználói felület minden eleme egy-egy objektum Az objektumok között különböző kapcsolat lehet: egymástól független objektumok például két adatbeviteli mező egyik objektum tartalmazza a másikat például egy párbeszédablak és a benne lévő beviteli mezők általában egy dinamikus listába fűzzük fel az objektumokat hierarchikus rendben helyezkednek el az objektumok ablak ablak panel groupbox panel checkbox groupbox checkbox A Java programozási nyelv Soós Sándor 6/17

Eseményvezérelt programozás Az objektumok egymással és a felhasználóval eseményeken keresztül tartják a kapcsolatot. Az egyik objektum kivált egy eseményt Létrehoz egy esemény objektumot A futtató rendszer elkapja az eseményt és eljuttatja a célobjektumhoz. A célobjektum lekezeli az eseményt A Java programozási nyelv Soós Sándor 7/17

Példa eseményvezérelt kommunikációra A jelenség: Az egérrel rákattintunk egy gombra, ami átállítja az ablak háttérszínét. Mi történik a háttérben? Az operációs rendszer (pl. a Windows) érzékeli az egér kattintást. Az eseményt továbbítja annak a programnak, amelyik ablakában volt az egér a kattintáskor. A program továbbítja annak az objektumnak, amelyik területén történt a kattintás. Példánkban a gomb lekezeli az eseményt, azaz lefut a hozzárendelt metódus, átállítja az ablak háttérszínét. A Java programozási nyelv Soós Sándor 8/17

Mindezek megvalósítása Java-ban A grafikus felhasználói felület megvalósítása java.awt csomag natív kódban megírt grafikus objektumok hordozható kód, de a kinézet platformfüggő egyelőre ezzel fogunk foglalkozni javax.swing csomag az operációs rendszerből csak az alap grafikus utasításokat használja a grafikus objektumokat Java nyelven valósítja meg hordozható kód az objektumok kinézete platformfüggetlen, sőt szabályozható (javax.swing.lookandfeel) A Java programozási nyelv Soós Sándor 9/17

A GUI kialakítása Java-ban Egy egyszerű példa alkalmazás: ColorGUI.java Lépések: Létrehozunk egy Frame-et. Ez lesz a program főablaka. Beállítjuk a használni kívánt Layout managert (setlayout). Sorban létrehozzuk (példányosítjuk) a szükséges komponenseket, és befűzzük a Frame-be (add). Beállítjuk a Frame méretét (setsize). Megjelenítjük a Frame-et (show). Ezzel elkészült a felület. Ez egy "működő" program, de még nem csinál semmit. A Java programozási nyelv Soós Sándor 10/17

Layout Manager Elrendezés manager Dinamikusan elrendezi a konténer-ben lévő komponenseket. Különböző Layout managerek eltérő elvek alapján rendezik el a komponenseket: FlowLayout A Panel és az Applet default elrendezés menedzsere. Sorfolytonos elhelyezést ad. BorderLayout északi, déli, keleti, nyugati és középső régió GridLayout megadott számú sor és oszlop jön létre GridBagLayout mint a GridLayout, de több cella összevonható (ld. numerikus billentyűzet) CardLayout egymáson lévő komponensek közül a csak a felső látszik, mint egy kártyapakli, lapozható A Java programozási nyelv Soós Sándor 11/17

AWT segédosztályok Point osztály: egy képernyő pozíció adatmezők: int x, y metódusok: double getx(), double gety() Dimension osztály: szélesség, magasság adatmezők: int width, height metódusok: double getwidth(), double getheight() Rectangle osztály: egy téglalap Point + Dimension Polygon osztály: zárt sokszög a csúcspontok két tömbben vannak A Java programozási nyelv Soós Sándor 12/17

AWT segédosztályok, folyt. Színek Color osztály: színek konstansok a színek angol nevei csupa kisbetűvel Color.black, Color.red, Color.blue, stb. SystemColor osztály: az ablakkezelő rendszer színei Néhány példa: SystemColor.window: ablakok háttérszíne SystemColor.menuText: a menük szövegének színe SystemColor.desktop: a munkaasztal háttérszíne stb. A Java programozási nyelv Soós Sándor 13/17

Eseménykezelés Töltsük meg élettel a felhasználói felületet! Eseményfigyelő objektumokat kapcsolunk azokhoz a komponensekhez, amelyekkel reagálni akarunk valamely eseményre. Az eseményfigyelő objektumoknak van egy vagy több olyan metódusa, ami meghívásra kerül, amikor kiváltódik az általa figyelt esemény. Ezeket a metódusokat definiálva reagálhatunk az eseményre. A java.awt.event csomag definiálja az AWT által használt eseményfigyelő interfészeket. A Java programozási nyelv Soós Sándor 14/17

Interfész - Interface Az interface a Java nyelv másik alapvető építőköve a class mellett. Az interface tulajdonképpen egy teljesen abstract osztály, csak abstract metódus deklarációk és konstansok szerepelnek benne. Az interface-ek az osztályokhoz hasonlóan öröklési kapcsolatban állhatnak egymással, de nincsen "közös ős" interface (mint az Object az osztályoknál) van többszörös öröklődés Az interface-eket ugyanúgy lehet példányosítani, mint az osztályokat. Nekünk most csak erre lesz szükségünk. A Java programozási nyelv Soós Sándor 15/17

Az eseményfigyelő objektumok megvalósítása A java.awt.event csomag interface-ek formájában definiálja a különböző eseményfigyelő objektumok mintáit. Ezekből lehet példányosítani a szükséges objektumokat. Példánkban az ActionListener interface-ből példányosítunk egyet a színezéshez és egyet a Bezárás gomb számára. Ezeket az objektumokat befűzzük a megfelelő nyomógombok eseményfigyelő listájába (addactionlistener). A Java programozási nyelv Soós Sándor 16/17

Példa: Faktoriális számítás Nézzük meg a Faktor.java programot! Ennek mintájára készítsünk egy egyszerű számológépet! legyen benne két beviteli mező, és néhány nyomógomb a különböző műveletek elvégzésére az eredmény jelenjen meg egy Label-ben. A Java programozási nyelv Soós Sándor 17/17