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

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

Programozási technológia

JAVA PROGRAMOZÁS 5.ELŐADÁS

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

Java felhasználói felület

Szoftvertechnológia alapjai Java előadások

Programozási technológia

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

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

Java Programozás 11. Ea: MVC modell

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

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

Swing. (A javax.swing csomag)

VI. Grafikus Java alkalmazások

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

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

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.

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

Java felhasználói felület

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

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák.

Java felhasználói felület

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

BME MOGI Gépészeti informatika 8.

DebitTray program Leírás

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

ContractTray program Leírás

ServiceTray program Leírás

A Java nyelv. Dialógus ablakok. Elek Tibor

Gábor Dénes Főiskola (IAI) Programozási technológia (Java) - II. / 1

Java Programozás 8. Ea: GUI. Graphical User Interface

Java felhasználói felület

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

ZH mintapélda. Feladat. Felület

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

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

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

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

Concurrency in Swing

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

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

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

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

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

Java-s Nyomtatványkitöltő Program Súgó

Már megismert fogalmak áttekintése

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

- Alkalmazásfejlesztési szemlélet megismerése - Java GUI készítés bemutatása Swing-ben - Órai feladat megoldása

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Java és web programozás

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

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

Téradatbázisok használata QGIS-ből A DB kezelő modul 2.2 verzió

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Pick Pack Pont kereső és boltválasztó alkalmazás

Ezek után már csak a Mentés és a Lekérdezés Futtatása (az ellenőrzés miatt) van hátra. Ügyeljünk, hogy a mentésnél a megadott (Kezd) nevet adjuk meg.

2. Beadandó feladat dokumentáció

2. Beadandó feladat dokumentáció

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Programozási nyelvek Java

Java programozási nyelv 6. rész Java a gyakorlatban

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:

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

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

Mercedes XENTRY Portal Pro interfész

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Abstract osztályok és interface-ek. 7-dik gyakorlat

ClicXoft programtálca Leírás

Kalapácsvetés 2016 szöveges

New Default Standard.ipt

Java és web programozás

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

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

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

Osztályok. 4. gyakorlat

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

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

Elmib Önkormányzati hibabejelentő. Felhasználói kézikönyv v1.0

Osztálytervezés és implementációs ajánlások

A Cobra Sprint telepítése CobraContoLight felhasználók számára

Osztálytervezés és implementációs ajánlások

VARIO Face 2.0 Felhasználói kézikönyv

A Canvas LMS új és régi felülete közti különbségek

Access gyakorlati feladatok lépésről lépésre

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

3. Beadandó feladat dokumentáció

OOP: Java 8.Gy: Abstract osztályok, interfészek

Szoftvertechnolo gia gyakorlat

Felhasználói segédlet a Scopus adatbázis használatához

Segédanyag: Java alkalmazások gyakorlat

Elemi Alkalmazások Fejlesztése II.

WIFI elérés beállítása Windows XP tanúsítvánnyal

Technikai információk fejlesztőknek

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

Operációs rendszerek. Tanmenet

A program jelenleg az import illetve az intrastat adatok alapján tudja elkészíteni a jelentést, kizárólag kötelezettséget tud lekérdezni.

Ablak és ablakműveletek

Aromo Szöveges értékelés normál tantárggyal

Átírás:

Grafikus felhasználói felület 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). Mi hogyan használjuk? awt: eseménykezelés, speciális elemek. swing: látható komponensek.

Swing komponensek Közös ősosztály: JComponent. Származtatott osztályok: JFrame keret, JLabel címke, JButton gomb, JPanel panel, JComboBox kombobox, JList lista, JSlider csúszka, JSpinner spin vezérlő, JTable táblázat.

Keretek Üres keret létrehozása Két osztályt készítünk: Főprogram osztálya: Keret, amelyben csak egy üres keretet hozunk létre. Üres keret osztálya: ÜresKeret.

Keretek public class Keret public static void main(string[] args) new ÜresKeret();

Keretek import javax.swing.jframe; public class ÜresKeret extends JFrame public ÜresKeret() settitle("üres keret"); setsize(200, 60); setvisible(true); (A konstruktorban megadjuk az ablak címét, méretét, végül megjelenítjük.)

Keretek A program futtatása során a következő ablak jelenik meg: A lezáró gombra kattintva a program ablaka bezárul, de a program futása nem fejeződik be. (Parancssorban nem kapjuk vissza a promptot, fejlesztőkörnyezetben a futtatási konzol ablak mutatja, hogy a program fut.) Ennek oka, hogy a program nem fejeződött be, csak a keret tűnt el a képernyőről. Program leálĺıtása: parancssorból a Ctrl+C lenyomásával NetBeans környezetben a Run menü Stop Build/Run pontjával

Keretek Program leálĺıtása a keret lezárásakor Az alapértelmezett megvalósítás: lezáráskor csak eltűnik a keret. Két megoldás lehetséges: 1. A lezáráskori viselkedés megadása. 2. A lezárás eseményének figyelése eseménykezelő hozzárendelésével.

Keretek A kerethez rendelt automatikus lezáró művelet előírása setdefaultcloseoperation művelet segítségével lehet megadni. Paramétere: adott konstans érték (WindowConstants) lehet. import javax.swing.*; public class ÜresKeret extends JFrame public ÜresKeret() setdefaultcloseoperation(windowconstants.exit_on_close); settitle("üres keret"); setsize(200, 60); setvisible(true);

Keretek Eseménykezelő készítése A kezelőt a WindowAdapter osztályból kell származtatni. A kezelőt az addwindowlistener művelettel kell a kerethez rendelni. A kezelő egyetlen feladata az ablak bezárásának kezelése, amit a windowclosing művelet átdefiniálásával tehetünk meg. A művelet paramétere a bezárást okozó WindowEvent típusú esemény, amit nem használunk. A műveletben ki kell lépni a programból. (Ezt az utat kell követni, ha a kilépéskor egyéb tevékenysége(ke)t is el kell végeznünk.)

Keretek import javax.swing.*; import java.awt.event.*; public class ÜresKeret extends JFrame public ÜresKeret() addwindowlistener(new WindowAdapter() @Override public void windowclosing(windowevent e) System.exit(0); ); settitle("üres keret"); setsize(200, 60); setvisible(true);

Keretek Az implicit objektum helyett az objektumot felvehetjük az osztályon belül. import javax.swing.*; import java.awt.event.*; public class ÜresKeret extends JFrame public ÜresKeret() addwindowlistener(kilépés); settitle("üres keret"); setsize(200, 60); setvisible(true);

Keretek private WindowAdapter kilépés = new WindowAdapter() @Override public void windowclosing(windowevent e) System.exit(0); ; (Keret1 projekt)

Keretek Ugyanezt elérhetjük egy külön osztály létrehozásával is, amelynek objektumát adjuk meg paraméterként a keret konstruktorában. import java.awt.event.*; public class Kilépés extends WindowAdapter @Override public void windowclosing(windowevent e) System.exit(0);

Keretek import javax.swing.*; public class ÜresKeret extends JFrame public ÜresKeret() addwindowlistener(new Kilépés()); settitle("üres keret"); setsize(200, 60); setvisible(true);

UI események kezelése Felhasználió akciók felületi elemeken eseményt váltanak ki: ActionEvent. Ezeket kell kezelni az elemekkel úgy, hogy eseményfigyelőt rendelünk hozzájuk (addactionlistener vagy Action objektum beágyazása). Események figyelése: ActionListener interfész. Egyetlen művelet: actionperformed, aminek paramétere az esemény.

Kattintások számlálása Kattintásokat számláló gomb Elhelyezünk egy gombot a keretben, amely figyeli a kattintásokat, és megjeleníti a kattintások számát. Ezen kívül a keret ikonját is megváltoztatjuk.

Kattintások számlálása Ikon beálĺıtás A keret ikonját a seticonimage művelettel adhatjuk meg. A művelet paramétere az ikon, amit a megfelelő eszközön (Toolkit) keresztül rendelünk a kerethez. seticonimage(toolkit.getdefaulttoolkit().getimage("gomb.png")); A Toolkit az awt csomag része. Így a jar állományból nem töltődik be az ikon. Ehhez a fájl nevét URL-ként kell megadni. java.net.url url = Gomb.class.getResource("gomb.png"); seticonimage(toolkit.getdefaulttoolkit().getimage(url));

Kattintások számlálása Számláló gomb A számláló gombot a keret adatterületére helyezzük, amit a getcontentpane() művelet ad meg. Ehhez az add művelettel vehetünk hozzá egy elemet. A gombot egy osztály segítségével valósítjuk meg: SzámlálóGomb. Ezt a JButton osztályból kell származtatni, és ki kell egészíteni eseménykezeléssel is. Ezért az osztály az ActionListener interfészt is megvalósítja. Java program: Gomb1 projekt Készítsük el ugyanezt az alkalmazást a NetBeans tervezőjével!

Kattintások számlálása Kilépés gomb Egészítsük ki az előző programot úgy, hogy a keretben helyezzünk el egy kilépésre lehetőséget adó gombot!

Kattintások számlálása El kell készítenünk az előzőekhez hasonlóan a kilépésre szolgáló gombot, ahol az esemény kezelése a program befejezését jelenti. A keret területére nem egy hanem két gombot kell elhelyeznünk. Ehhez meg kell adnunk a keret területén az elhelyezési módot (setlayout). A legegyszerűbb lehetőség a FlowLayout, amelybe folytonosan helyezhetünk el elemeket.

Kattintások számlálása Kilépés egységes kezelése Fontos, hogy ugyanaz következzen be, amikor kilépünk a programból, bármilyen módon is tesszük azt. A konkrét eset ugyan egyszerű, de ezt érdemes most is biztosítani. Ezért célszerű az ablak lezárásához és a kilépő gomb lenyomásához ugyanazt az eljárást rendelnünk (kilép). Az ablak bezárásához eseménykezelőt rendelünk, amelyben ezt hívjuk meg, és a gomb megnyomásakor is ezt hívjuk meg.

Kattintások számlálása A kilépő gombot most másként hozzuk létre. Egy gomb konstruktorának paramétere lehet egy Action típusú objektum. Ebben meg lehet adni az esemény kezelését, illetve a gomb további tulajdonságait. Az Action egy interfész, amelyben szereplő műveletekre (az esemény kezelésének kivételével) alapértelmezett megvalósítást ad az AbstractAction osztály. Ennek egy objektumával paraméterezzük a gombot, amelyben az eseménykezelést valósítjuk meg. Java program: Gomb2 projekt

Elhelyezési módok Elhelyezési módok FlowLayout az elemek folyamatos elhelyezése sorban. BorderLayout az elemek elhelyezése 5 helyre: középre (CENTER), felülre (NORTH), alulra (SOUTH), balra (WEST), jobbra (EAST). GridLayout az elemek folyamatos elhelyezése megadott méretű rácsban, ugyanolyan méretben. GridBagLayout az elemek elhelyezése rácsban, az elemek kiterjedése több egység is lehet.

Elhelyezési módok Elhelyezési módok (folyt.) BoxLayout elemek elhelyezése adott méretben, adott távolságra vízszintes vagy függőleges irányban. CardLayout kártyapakli elhelyezés (csak egy elem látszik, ami változtatható). OverlayLayout elemek egymásra helyezése.

Kattintások számlálása Kattintások számának megjelenítése külön Ne a gomb jelenítse meg a kattintások számát, hanem az egy külön mezőben legyen látható!

Kattintások számlálása Kétféleképpen járhatunk el: 1. A SzámlálóGomb osztályt megváltoztatjuk: ismernünk kell a kíırás helyét, ami egy címke. (Vagy a keretet, aminek szólni kell, és az kérdezi le az értéket, és álĺıtja a címke feliratát.) Java program: Gomb3 projekt 2. A keretben tartjuk nyilván az értéket, és a számlálásért felelős gomb eseménykezelőjét is itt helyezzük el. Java program: Gomb4 projekt