B M Java Programozás 6. Gy: Java alapok IT A N Adatkezelő 2.rész

Slides:



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

Körlevél. Körlevél alapok: Körlevél: sok címzettnek közel azonos tartalmú üzenet! (Pl: Felvételi értesítő) 3 részből áll: 1. Adatok /címlista 2. Levétörzs/szövegtörzs.
 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,
Csepregi Teréz Szociálpolitikai szakért ő Október 2.
Forrás: Reiter István C_Sharp programozás lépésről lépésre (frissített tartalommal )
Hogyan partícionáljuk meghajtónkat?
Fájlkezelés.
Munkalapok védelme az Excelben
Operációs rendszerek.
Valószínűségi kísérletek
Mastermind A tudatos vállalkozók agytrösztje
Adatbázis normalizálás
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
A program főmenüjében a Könyvelés -> Számlázás -> Számlakészítés menüpontot kell választani
Java kódolási konvenciók
Scilab programozás alapjai
Adatok importálása, rendezése és szűrése
Alkalmazásfejlesztés gyakorlat
A C++ programozási nyelv
Az integrált áramkörök (IC-k) típusai és tervezése
T.R. Adatbázis-kezelés - Alapfogalmak Adatbázis:
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
Kovács Gergely Péter Egyszerű lekérdezések
Triggerek Kalmár György.
C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll
Szerkesztőléc Aktív cella oszlopmutató sormutató munkalap munkafüzet.
Dependency Injection Moq Feladat
Táblázatkezelés alapjai
PHP-SQL adatbáziskezelő parancsai
Adatbázis-kezelés (PL/SQL)
Szövegszerkesztés Alapfogalmak Szövegbevitel Parancskiválasztás
Algebrai specifikációk
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
VB ADATTÍPUSOK.
Unity.
Közigazgatási alapvizsga a Probono rendszerben
Adatbázis alapfogalmak
Kovács Gergely Péter Bevezetés
Teljes visszalépéses elemzés
Az Endnote bibliográfia adatbázis-kezelő szoftver alapvető használata november Skultéti Attila
INFORMATIKA november 18. Gyakorló alkalom – 2. rész
3. A robot képernyőmenüje
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Szoftverrobotok vs biorobotok Bemutatkozik Albert, a vállalati robot
Informatikai gyakorlatok 11. évfolyam
B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor
Java Programozás 3. Gy: Java GUI Swing, AWT B IT M A N v:
Northwind Traders Kik vagyunk?
A Microsoft SharePoint testreszabása Online webhely
A távoli asztal, valamint az Endnote használata a távoli asztalon
Avagy a táblázatkezelés rejtelmei Készítette: Bíró Ádám
INFORMATIKA október 6. Gyakorló alkalom – 2. rész
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
B M Java Programozás 7. Gy: Java alapok IT A N Adatkezelő 3.rész
Szálszinkronizáció.
A szállítási probléma.
9-10.-es bemeneti mérések és a fejlesztő munkánk
B M Java Programozás 5. Gy: Java alapok IT A N Adatkezelő 1.rész
B M Java Programozás 2. Gy: Java alapok IT A N Adatszerkezetek
Vállalati brosúra A cég általános célkitűzése
B M Java Programozás 8. Gy: Java alapok IT A N Adatkezelő 4.rész
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat
SQL jogosultság-kezelés
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatika Oktató: Katona Péter.
Access alapok Táblák, kapcsolatok, űrlapok.
Hagyományos megjelenítés
Dr. Papócsi László Gábor
Táblázatkezelés 6. Diagramkészítés.
Előadás másolata:

B M Java Programozás 6. Gy: Java alapok IT A N Adatkezelő 2.rész

A kód Feladat: folytassuk a panel életre keltését! Alakítsuk ki a Lista panelt Betöltéskor olvassuk be az adatokat, és írjuk ki az adatsorok számát

Lista panel kialakítás – tábla modell létrehozása A táblázat kezelése egy táblamodellel kezdődik. A modellben lehet megadni az egyes mezők típusát és szerkeszthetőségét. A DefaultTableModel leszármaztatásával jön létre, konstruktorában kapja meg a mezőneveket, és az oszlopok számát. Programlogika: Egy modellt használnánk csak a programban az egyszerűség miatt A módosításnál és a törlésnél ki kell jelölni egy rekordot, így szükséges egy jelölhető (logikai típusú) mező a sor elejére A mezők típusa rendre: logikai, egész, szöveg, szöveg, szöveg, egész Csak a legelső (logikai) mezőnek kell szerkeszthetőnek lennie (a kijelölhetőség miatt!)

Lista panel kialakítás – tábla modell létrehozása File \ New \ Class

Lista panel kialakítás – tábla modell létrehozása import javax.swing.table.DefaultTableModel; public class EmpTM extends DefaultTableModel { public EmpTM (Object fildNames[], int rows){ super(fildNames, rows); } public boolean isCellEditable(int row, int col) { if (col == 0) {return true;} return false; public Class<?> getColumnClass(int index){ if (index == 0) return(Boolean.class); else if (index==1 || index==5) return(Integer.class); return(String.class); Zöld: kötelező rész, minden táblamodell-ben egyforma! Konstruktor: megkapja a mezők nevét és a sorok számát. Szerkeszthetőség: a 0. oszlop minden sora szerkeszthető, a többi cella nem! Oszlopok típusa: a 0. oszlop logikai, az 1. és az 5. egész, a többi szöveges!

Lista panel kialakítás – a panel létrehozása New \ Swing \ JDialog

Lista panel kialakítás – a panel létrehozása Vegyük szélesebbre az ablakot

Lista panel kialakítás – a panel létrehozása Kapcsoljuk ki az elrendezés menedzselését!

Lista panel kialakítás – a panel létrehozása Töröljük ki a létrehozott nyomógomb panelt!

Lista panel kialakítás – a panel létrehozása Hozzuk létre a Bezár nyomógombot

Lista panel kialakítás – a panel létrehozása Adjunk a panelhez egy JTable-t.

Lista panel kialakítás – a panel létrehozása Adjunk a JTable-höz egy JScrollPane-t (görgetősávok)

Lista panel kialakítás – a panel létrehozása Futtassuk a kódot, nézzük meg a panelt!

Lista panel kialakítás – a panel létrehozása Kódbűvölés következik! Az osztály elejére: private EmpTM etm; A JTable kódjába: table = new JTable(etm); A táblázatban az etm modell fog megjelenni A kódból töröljük a main függvényt! Nem lesz önállóan futtatható a panel, ezért nem kell bele a main függvény!

Lista panel kialakítás – a panel létrehozása Alakítsuk át a konstruktor elejét: public EmpList(JFrame f, EmpTM betm) { super(f, "Dolgozók listája", true); etm = betm; Tulajdonos, ablak címe, modális jelző Modális ablak lesz, melyet be kell zárni ahhoz, hogy az alatta lévő ablak újra aktív legyen! A kód végére írjuk be a következőket: TableColumn tc = null; for (int i = 0; i < 6; i++) { tc = table.getColumnModel().getColumn(i); if (i==0 || i==1 || i==5) tc.setPreferredWidth(30); else {tc.setPreferredWidth(100);} } 30 100 Oszlopszélesség megadása: a teljes szélességet felosztja az itt megadott értékek arányában!

Lista panel kialakítás – a panel létrehozása A kód végére írjuk be a következőket: AutoSorter bekapcsolása table.setAutoCreateRowSorter(true); TableRowSorter<EmpTM> trs = (TableRowSorter<EmpTM>)table.getRowSorter(); trs.setSortable(0, false); A 0. oszlop rendezhetőségének letiltása

Lista panel kialakítás – a panel bezárása Kattintsunk duplán a Bezár gombon Dizájn nézetben, így az Eklipsz hozzáad egy eseménykezelőt a gombhoz, és megnyitja a kódot! Írjuk be a Bezár gomb kódját: JButton btnNewButton = new JButton("Bez\u00E1r"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { dispose(); setVisible(false); } });

A Lista panel kipróbálása (az EmpProgramban) Kódok beszúrása: Az osztály elejére: private EmpTM etm; A Lista gomb kódja: JButton bl = new JButton("Lista"); bl.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { EmpList el = new EmpList(EmpProgram.this, etm); el.setVisible(true); } }); Példányosítás Megjelenítés A konstruktor végére: Mezőnevek megadása Object emptmn[] = {"Jel","Kód","Név","Szülidő","Lakóhely","IQ"}; etm = new EmpTM(emptmn, 0); etm példányosítása: mezőnevekkel, 0 darab sorral

A Lista panel kipróbálása (az EmpProgramban)

Adatok beolvasása csv fájlból Programlogika: Egy külön osztályba tegyük a fájlkezelő rutinokat (FileManager) A rutin megkapja a beolvasandó fájl nevét, és a táblamodell nevét Beolvassa az adatokat, berakja a táblamodellbe, és visszaadja a táblamodellt import java.io.*; import javax.swing.JOptionPane; public class FileManager { private static String mes = "Emp program üzenet"; public static void CsvReader(File fnev, EmpTM etm) { String kod="", nev="", szido="", lakh="", iq="", s=""; try { FileInputStream f=new FileInputStream(fnev); LineNumberReader in=new LineNumberReader(new InputStreamReader(f)); 3/1

Adatok beolvasása csv fájlból s=in.readLine(); //=== mezőnevek az első sorból s=in.readLine(); //=== adatsor while(s!=null) { String[] splitS = s.split(";"); kod = splitS[0]; nev = splitS[1]; szido = splitS[2]; lakh = splitS[3]; iq = splitS[4]; etm.addRow(new Object[]{new Boolean(false), StoI(kod), nev, szido, lakh, StoI(iq)}); s=in.readLine(); } in.close(); JOptionPane.showMessageDialog(null, "Adatok beolvasva!", mes, 1); } catch (IOException ioe) {JOptionPane.showMessageDialog( null, "CsvReader: "+ioe.getMessage(), mes, 0);} 3/2

Adatok beolvasása csv fájlból public static int StoI(String s){ int x=-55; x = Integer.parseInt(s); return x; } 3/3

Betöltés – a .csv olvasás életre keltése A Betöltés gomb kódja az EmpProgram osztályban JButton bb= new JButton("Bet\u00F6lt\u00E9s"); bb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { if (forras.equals("Helyi .csv fájl")) { FileDialog fd = new FileDialog(new Frame(), " ", FileDialog.LOAD); fd.setFile("*.csv"); fd.setVisible(true); if (fd.getFile() != null) { fbe = new File(fd.getDirectory(), fd.getFile()); String befnev = fd.getFile(); fnev.setText(befnev); FileManager.CsvReader(fbe, etm); } fdb.setText(""+etm.getRowCount()); }); Zöld: a meglévő kód Kék: új kódrészek

Lista panel kialakítás – a panel kipróbálása Ha mindent jól csináltunk, a program betölti és megjeleníti a csv fájlok tartalmát: 1 2 5 3 6 4

Lista panel kialakítás – a panel létrehozása

V É G E VÉGE