Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaΕυρυδίκη Γιάνναρης Megváltozta több, mint 6 éve
1
B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor
2
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
3
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
4
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!
5
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
6
MVC Vezérlő Modell Nézet
7
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
8
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
9
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;
10
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!
11
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();
12
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.
13
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);
14
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.
15
V É G E VÉGE
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.