B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor

Slides:



Advertisements
Hasonló előadás
Bevezetés a C# nyelvbe Az alapok összefoglalása Farkas Csaba.
Advertisements

 Alap tudnivalók Alap tudnivalók  Az If és a While folyamatábrák Az If és a While folyamatábrák  Probléma Probléma  A while ciklus (általános alak,
BINARIT TIMESHEET Több, mint munkaidő nyilvántartás Virág Zsolt (BINARIT Informatikai Kft.)„Hogyan legyek milliomos?” konferencia – BKIK ( )
Forrás: Reiter István C_Sharp programozás lépésről lépésre (frissített tartalommal )
as vonal Orczy tér - Kápolna utca/Mázsa tér 1. a.)Csak a Baross utcai kapun b.)Csak a Dobozi utcai kapun c.)Mindkét kapun.
1 Számvitel alapjai Gazdálkodás:a társadalmi újratermelési folyamat szakaszainak (termelés, forgalom, elosztás, fogyasztás) megszervezésére, az ahhoz rendelkezésre.
Fájlkezelés.
Operációs rendszerek.
Valószínűségi kísérletek
Hogyan közelíthető meg Kelenföld kocsiszín vágányhálózata a Bartók Béla úti villamosvonalról? A Kelenföld kocsiszín előtti kezelővágányra a Móricz Zsigmond.
Összeállította: Horváth Józsefné
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
Programstruktúrák.
Videojáték.
Microsoft Excel BAHAMAS tanfolyam
TESZTSOR.HU REGISZTRÁCIÓ, VÁSÁRLÁS ÉS TESZTKITÖLTÉS ELKEZDÉSE
Java kódolási konvenciók
Scilab programozás alapjai
videós team Team vezetője: Tariné Péter Judit Tagok:
PHP - függvények.
Sz&p prof.
LabVIEW bevezetéstől a feszültség-áram karakterisztikáig Vida Andrea
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat
Dependency Injection Moq Feladat
Környezeti teljesítményértékelés
Visual Studio Code Metrics
Gazdaságstatisztika Korreláció- és regressziószámítás II.
Adatbázis-kezelés (PL/SQL)
KATRIN 2D DWG SZIMBÓLUMOK ÉS GDL KÖNYVTÁR
2. Bevezetés A programozásba
☺ Programozási környezetek Validátorok Fazekas Judit PTI 2010.
VB ADATTÍPUSOK.
Közigazgatási alapvizsga a Probono rendszerben
A Hálózat és Az internet
Rendszerfejlesztés gyakorlat
Számítógépes Hálózatok
Számítógépes vírusok.
aka.ms/coauthorinword
3. A robot képernyőmenüje
Monitor(LCD).
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Szoftverrobotok vs biorobotok Bemutatkozik Albert, a vállalati robot
Informatikai gyakorlatok 11. évfolyam
Java Programozás 3. Gy: Java GUI Swing, AWT B IT M A N v:
Környezeti Kontrolling
A KRÉTA rendszer céljai, fejlesztési irányai
Új pályainformációs eszközök - filmek
Northwind Traders Kik vagyunk?
A Microsoft SharePoint testreszabása Online webhely
Alkalmazott Informatikai Tanszék
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
Az ELQ 30A+ automatikus hangfrekvenciás mérései
Vasbeton falvasalás megadása és ellenőrzése EC2 szerint
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
A számítógép története
SWIFT csatlakozás Wittmann György
Szálszinkronizáció.
B M Java Programozás 6. Gy: Java alapok IT A N Adatkezelő 2.rész
Matematika 11.évf. 1-2.alkalom
B M Java Programozás 2. Gy: Java alapok IT A N Adatszerkezetek
B M Java Programozás 8. Gy: Java alapok IT A N Adatkezelő 4.rész
Válassza ki a Blaha Lujza tér végállomásra vonatkozó helyes állítást!
Tájékoztató az EPER pályázati folyamatáról
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatika Oktató: Katona Péter.
Access alapok Táblák, kapcsolatok, űrlapok.
Algoritmusok.
Táblázatkezelés 4. Képletek használata.
Pipeline példák (Normál, 2019).
Előadás másolata:

B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor

1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig így nézzen ki: A Reset gomb indítsa újra a játékot: új tipp generálása mezők kiürítése tippek száma = 0

2. Feladat: Számológépecske (Hatványozó gép) Csak szorozni tud, mindig az aktuális eredményt szorozza össze egy beírható számmal. Van Reset funkciója

Magyarázatok Programlogika: Az eredmény szövegmezőnek 1 (egy) az alapértéke Be kell írni a számot, amit szorozni akarunk (kezdetben 1-el) A Szorzás gombot megnyomva a számot összeszorozzuk az Eredménnyel, és kiírjuk az értéket az Eredmény mezőbe A Szorzás gombot megnyomva a Számot ismét megszorozzuk az Eredménnyel (vagyis most önmagával), így a szám négyzetét kapjuk. Újabb szorzással a szám köbét kapjuk… A Reset funkció kiüríti a Szám mezőt, és beállítja az Eredményt alapértékre (1-re) Készítse el mindenki a grafikus felületet, és programozza le az üzleti logikát!

MVC – Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát a felhasználói felülettel kapcsolatos elgondolásoktól oly módon, hogy a fejlesztők minél könnyebben változtathassák meg az egyes részeket anélkül, hogy a többire hatással lennének. Az egyes részek feladata: Modell: képviseli az adatot és az üzleti logikát Nézet: a felhasználói felület elemei Vezérlő: biztosítja a nézet és a modell közötti kapcsolatot

MVC Vezérlő Modell Nézet

MVC alapú számológépecske A grafikus felület vezérlői értelmezik a felhasználó parancsait A parancsokat továbbítják a kontroller felé A kontroller küldi az adatokat a modell felé, és utasítja azt az adatkezelésre A modell a kiszámított adatokat visszaadja a kontrollernek A kontroller utasítja a grafikus felületet az eredmények frissítésére

Számológépecske MVC – A modell A modellbe kerül a teljes üzleti logika, és a modell fogja tárolni az aktuális számítási eredményt, és az inicializálás/reset értéket: adattag: inicializálási érték adattag: aktuális számítási érték konstruktor getÉrték, setÉrték metódusok reset metódus számítást (szorzást) elvégző metódus

Számológépecske MVC – A modell kódja public class CalcModel { private static final int INIT_VALUE = 1; private int value; public CalcModel() { value = INIT_VALUE; } public int getValue(){ return value; public void setValue(int x) { value = x; public void reset() { public void operation(int a, int b) { value = a*b;

Számológépecske MVC – A vezérlő A vezérlőbe kerülnek a kiolvasás, ellenőrzés, átalakítás, és a kommunikáció (M-V-C) műveletei: szövegmező tartalom beolvasó metódus szövegmező tartalom ellenőrző metódus a modell számító metódusát hívó metódus a modell számítási eredményét a GUI-ra kiíró metódus Reset lebonyolító metódus Üzeneteket megjelenítő metódus String egésszé konvertálhatóságát ellenőrző metódus Stringet egésszé konvertáló metódus Lesz benne egy deklarált Modell példány!

Számológépecske MVC – A vezérlő kódja import javax.swing.*; public class CalcController { private static String clm = "Calc program message"; CalcModel cm = new CalcModel(); public boolean textFieldChecker(JTextField jtf){ String s = readJTF(jtf); if (s.length() == 0) { showMD("Nincs beírva adat!", 0); return false; } else if (goodInt(s)) return true; else { showMD("A beírt adat nem alakítható egész számmá!", 0); } public String readJTF(JTextField a) { return a.getText().toString();

Számológépecske MVC – A vezérlő kódja public void calc(JTextField a, JTextField b) { int av = StoI(readJTF(a)); int bv = StoI(readJTF(b)); cm.operation(av, bv); int x = cm.getValue(); b.setText(Integer.toString(x)); } public void reset(JTextField a, JTextField b) { cm.reset(); a.setText(""); AController teremt kapcsolatot a View és a Modell között.

Számológépecske MVC – A vezérlő kódja public boolean goodInt(String s) { int x; try { x = Integer.parseInt(s); return true; } catch (NumberFormatException e) {return false;} } public int StoI(String s){ return Integer.parseInt(s); public void showMD(String s, int i){ JOptionPane.showMessageDialog(null, s, clm, i);

Számológépecske MVC – A View kódja (részlet) public class CalcMVC extends JFrame { CalcController cc = new CalcController(); ba.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (cc.textFieldChecker(adat)) cc.calc(adat, eredmeny); } }); br.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { cc.reset(adat, eredmeny); } }); A View-ból nem látszik a Modell, minden művelet a Controller-en keresztül történik.

V É G E VÉGE