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

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

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

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

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

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

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Java Programozás 11. Ea: MVC modell

Java Programozás 2. Gy: EmpProgram. Grafikus felületű adatkezelő program

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

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

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

BME MOGI Gépészeti informatika 4.

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

Objektumorientált programozás C# nyelven III.

OOP: Java 8.Gy: Gyakorlás

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

BME MOGI Gépészeti informatika 7.

3. Osztályok II. Programozás II

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

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

Szoftvertechnolo gia gyakorlat

Access adatbázis elérése OLE DB-n keresztül

Programozási nyelvek Java

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

4. Gy: JAVA osztályok

Java és web programozás

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

OOP: Java 4.Gy: Java osztályok

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

Objektumorientált programozás C# nyelven

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

OOP #14 (referencia-elv)

Java programozási nyelv 5. rész Osztályok III.

OOP: Java 1.Gy: Java alapok

ZH mintapélda. Feladat. Felület

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

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

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

A C# programozási nyelv alapjai

Objektumorientált programozás C# nyelven

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

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Objektumorientált programozás C# nyelven III.

OOP: Java 5.Gy: Osztály, referencia, konstruktor

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Vizuális programozás gyakorlat

INFORMATIKAI ALAPISMERETEK

BME MOGI Gépészeti informatika 8.

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

C++ programozási nyelv Konstruktorok-destruktorok

Programozási nyelvek II.: JAVA, 4. gyakorlat

Szoftvertechnológia alapjai Java előadások

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Johanyák Zsolt Csaba: Képnézegető program oktatási segédlet

Programozási nyelvek II.: JAVA, 4. gyakorlat

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

JAVA PROGRAMOZÁS 3.ELŐADÁS

Informatika terméktervezőknek

és az instanceof operátor

BME MOGI Gépészeti informatika 5.

Java programozási nyelv 4. rész Osztályok II.

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Objektumorientált programozás C# nyelven

Programozás II. ATM példa Dr. Iványi Péter

1. Alapok. Programozás II

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

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

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

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

INFORMATIKAI ALAPISMERETEK

Algoritmusok és adatszerkezetek II.

Tájékoztató. Használható segédeszköz: -

Példa 30 14, 22 55,

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

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

Segédanyag: Java alkalmazások gyakorlat

Kalapácsvetés 2016 szöveges

Programozási technológia

C# feladatok gyűjteménye

Vizuá lis prográmozá s

BME MOGI Gépészeti informatika 13.

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

munkafüzet open eseményéhez

Java gyakorlat feladatai e s megolda sai ( )

Programozási nyelvek II.: JAVA

.Net adatstruktúrák. Készítette: Major Péter

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

Átírás:

Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22

A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik táblamodellbe (kertm), melyet megjelenítünk a keresés találati panelen. 2. A keresés indításakor ellenőrizzük le, hogy: 1. Léteznek-e adatsorok? 2. Ki van-e töltve a keresőkulcs mező? 3. Helyesen van-e megadva a keresőkulcs? 3. A találati panelen az eredmények alatt jelenjen meg a keresési kulcs, a megfelelő mező alatt! 15/2

Az EmpKer osztály Hozzunk létre a projekthez egy sima osztály: File \ New \ Class Legyen az osztály neve: EmpKer Írjunk egy olyan osztályt (KeyCheck), amely leellenőrzi, hogy a keresőkulcs megfelelő-e. Készítsük el a leválogató metódust, amely az adatokat tartalmazó táblamodellből átmásolja a megfelelő rekordokat az eredmény táblamodellbe (Select) 15/3

Az EmpKer osztály kódja public class EmpKer { 5/1 public static boolean KeyCheck(String mezo, String key){ boolean vi=false; Character fc=' '; String fs=""; if (mezo.equals("kod")) { if (key.substring(0,1).equals("=")) key=key.substring(1, key.length()); vi= goodstoint(key); goodstoint: számmá alakítható a kulcs? if (mezo.equals("nev")) { fs=key.substring(0,1); if (Character.isLetter(key.charAt(0)) fs.equals(" ")) vi= true; 15/4 if (mezo.equals("lak")) { if (Character.isLetter(key.charAt(0))) vi= true;

Az EmpKer osztály kódja 15/5 if (mezo.equals("iq")) { fs=key.substring(0,1); fc=key.charat(0); if (fs.equals("<") fs.equals(">") fs.equals("=")) { if (key.length()>1 && goodstoint(key.substring(1,key.length()))) vi= true; else vi= false; if (Character.isDigit(fc) && key.indexof("..")>0) { int x = key.indexof(".."); String k1 = key.substring(0,x); String k2 = key.substring(x+2,key.length()); if (goodstoint(k1) && goodstoint(k2)) vi=true; else vi=false; return vi; 5/2

Az EmpKer osztály kódja public static EmpTM Select(EmpTM etm, String mezo, String key){ Object emptmn[] = {"Jel","Kód","Név","Szülidő","Lakóhely","IQ"; EmpTM kertm = new EmpTM(emptmn, 0); String k ="", k1="", k2=""; int x=0; if (mezo.equals("kod") && key.substring(0,1).equals("=")) key=key.substring(1, key.length()); if (mezo.equals("iq")) k=key.substring(1, key.length()); if (mezo.equals("iq") && key.indexof("..")>0) { x=key.indexof(".."); k1=key.substring(0,x); k2=key.substring(x+2,key.length()); 5/3 15/6

Az EmpKer osztály kódja for (int i=0; i<etm.getrowcount(); i++) { if (mezo.equals("kod") && key.equals(etm.getvalueat(i,1).tostring())) Pack(etm, kertm, i); if (mezo.equals("nev") && etm.getvalueat(i,2).tostring().indexof(key) >= 0) Pack(etm, kertm, i); if (mezo.equals("lak") && key.equals(etm.getvalueat(i,4).tostring())) Pack(etm, kertm, i); if (mezo.equals("iq") && key.substring(0,1).equals("=") && k.equals(etm.getvalueat(i,5).tostring())) Pack(etm, kertm, i); if (mezo.equals("iq") && key.substring(0,1).equals(">") && BC.StoI(k) < BC.StoI(etm.getValueAt(i,5).toString())) Pack(etm, kertm, i); if (mezo.equals("iq") && key.substring(0,1).equals("<") && BC.StoI(k) > BC.StoI(etm.getValueAt(i,5).toString())) Pack(etm, kertm, i); if (mezo.equals("iq") && key.indexof("..")>0) { String s = etm.getvalueat(i,5).tostring(); if (BC.StoI(k1) < BC.StoI(s) && BC.StoI(k2) > BC.StoI(s)) Pack(etm, kertm, i); //== for ciklus vége return kertm; 15/7 5/4

Az EmpKer osztály kódja public static void Pack(EmpTM etm, EmpTM kertm, int row){ kertm.addrow(new Object[]{new Boolean(false), BC.StoI(etm.getValueAt(row,1).toString()), etm.getvalueat(row,2).tostring(), etm.getvalueat(row,3).tostring(), etm.getvalueat(row,4).tostring(), BC.StoI(etm.getValueAt(row,5).toString())); 5/5 public static boolean goodstoint(string s) { try { Integer.parseInt(s); return true; catch (NumberFormatException e){return false; //== EmpKer osztály vége 15/8

A Keresés panel létrehozása Másoljuk le az EmpMod osztályt, legyen az új neve: EmpKerP Nyissuk meg az EmpKerP osztályt a WindowBuilder Editorral Jobbklikk \ Open With \ WindowBuilder Editor Nyissuk meg Design nézetben Töröljük ki a Születési idő alatti mezőt: Másoljuk le az IQ mezőt, legyen az új változó neve: kod A kód és az iq mező tartalmát igazítsuk jobbra! Töröljük ki a Módosít gombot, a Bezár gombot tegyük középre: 15/9

A Keresés panel létrehozása Módosítsuk az EmpKerP osztály kódját! Módosítsuk a konstruktort, adjuk meg a bemenő paramétereket: public EmpKerP(JFrame f, EmpTM betm, String mezo, String kulcs) { A szövegmezők közül mindig csak az látszódjon, amelyikre a keresés történt. A kód végére illesszük be a sorokat: kod.setvisible(false); nev.setvisible(false); lakh.setvisible(false); iq.setvisible(false); if (mezo.equals("kod")) kod.setvisible(true); if (mezo.equals("nev")) nev.setvisible(true); if (mezo.equals("lak")) lakh.setvisible(true); if (mezo.equals("iq")) iq.setvisible(true); 15/10

A Keresés panel létrehozása Minden egyes szövegmezők tartalma induláskor a keresőkulcs legyen, hiszen úgyis csak az fog látszódni, amelyikre a keresés történt. A szövegmezők konstruktorát javítsuk ki: nev = new JTextField(kulcs); lakh = new JTextField(kulcs); iq = new JTextField(kulcs); kod = new JTextField(kulcs); 15/11

A Keresés életre keltése az EmpProgramban Adjunk akciókezelőt a Keresés gombhoz, és írjuk be a kódot: if (BC.RF(fdb).equals("0")) BC.showMD("Nincs betöltött adat!", 0); else if (!BC.filled(kulcs)) BC.showMD("A keresőkulcs (X=) nincs megadva!", 0); else if (!EmpKer.KeyCheck(kerkif, BC.RF(kulcs))) BC.showMD("A keresőkulcs hibásan van megadva!", 0); else { kertm = EmpKer.Select(etm, kerkif, BC.RF(kulcs)); EmpKerP ek = new EmpKerP(EmpProgram.this, kertm, kerkif, BC.RF(kulcs)); ek.setvisible(true); A kertm deklarációja: private EmpTM kertm; 15/12

Próba 15/13

Lista panel kialakítás a panel létrehozása 15/14

VÉGE VÉGE 15/15