Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 8. rész – Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki.

Hasonló előadás


Az előadások a következő témára: "A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 8. rész – Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki."— Előadás másolata:

1 A Java programozási nyelvSoós Sándor 1/17 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 szeptember

2 A Java programozási nyelvSoós Sándor 2/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

3 A Java programozási nyelvSoós Sándor 3/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

4 A Java programozási nyelvSoós Sándor 4/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

5 A Java programozási nyelvSoós Sándor 5/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

6 A Java programozási nyelvSoós Sándor 6/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 ● panel ● groupbox ● checkbox ablak panel groupbox checkbox

7 A Java programozási nyelvSoós Sándor 7/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

8 A Java programozási nyelvSoós Sándor 8/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.

9 A Java programozási nyelvSoós Sándor 9/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)

10 A Java programozási nyelvSoós Sándor 10/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.

11 A Java programozási nyelvSoós Sándor 11/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ó

12 A Java programozási nyelvSoós Sándor 12/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

13 A Java programozási nyelvSoós Sándor 13/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.

14 A Java programozási nyelvSoós Sándor 14/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.

15 A Java programozási nyelvSoós Sándor 15/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.

16 A Java programozási nyelvSoós Sándor 16/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).

17 A Java programozási nyelvSoós Sándor 17/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.


Letölteni ppt "A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 8. rész – Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki."

Hasonló előadás


Google Hirdetések