Adatkezelés JDBC-vel 1 abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { private JTabbedPane jtp; private JPanel dp, jp1, jp2, jp3, jp4; private JButton blist, bbeszur, bmodosit, btorol, bcreate, binsert, bkapcsell; JLabel pct; static Connection conn = null; //Üres kapcsolat változó static Statement s = null; //Üres kifejezés változó static PreparedStatement ps = null; //Üres paraméteres kifejezés változó static ResultSet rs = null; //Üres cursor változó static String user="tanuló"; //User megadása static String pswd="tanuló"; //Jelszó megadása static String bm="bitman mondja:"; //Üzenet panel felirata private static Autm dtmp; //Tábla modell kiíráshoz private static Autmj ttmp; //Tábla modell kijelöléshez public abkezel() { settitle("bitman mondja"); setsize(400,240); setlocationrelativeto(null); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add(dp); //Program neve //Ablak mérete //Ablak kerüljön középre //Panel létrehozása //Nincs tartalom elrendezés //Panel hozzáadása az ablakhoz (frame-hez) jp1 = new JPanel(); jp2 = new JPanel(); jp3 = new JPanel(); jp4 = new JPanel(); jp1.setlayout(null);
Adatkezelés JDBC-vel 2 blist = new JButton(); //Nyomógomb blist.settext("lista"); //Nyomógomb felirata jp1.add(blist); blist.setbounds(10,30,100,20); //Nyomógomb helye, mérete blist.addactionlistener( new ActionListener() { //Nyomógombhoz akciókezelő Object Mezonevekp[] = {"Azon.", "Rendszám", "Típus", "Szín", "Kor", "Ár"; dtmp = new Autm( Mezonevekp,0 ); //Táblafej létrehozása, mezőnevekkel ); //Kapcsolódás, létező táblatartalom törlése if (dtmp.getrowcount()>0) for (int i=0; i < dtmp.getrowcount(); i++) {dtmp.removerow(i);i--; AutoLista(); //Táblatartalom betöltése Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); //Helymeghatározás AuKiir ak = new AuKiir(null, dtmp, bsx, bsy); //Példányosítás ak.setvisible(true); //Megjelenítés bbeszur = new JButton(); bbeszur.settext("beszúrás"); jp1.add(bbeszur); bbeszur.setbounds(10,60,100,20); bbeszur.addactionlistener( new ActionListener() { Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuBe us = new AuBe(null, bsx, bsy);us.setvisible(true); if (us.kilep()==2){ //Visszaadott érték vizsgálat try { //Parancs megfogalmazása String sqlp = "insert into auto (azon, rendszam, tipus, szin, kor, ar) values (?,?,?,?,?,?)"; //Kapcsolódás ps = conn.preparestatement(sqlp); ps.setstring(1, us.getazon()); ps.setstring(2, us.getrsz()); ps.setstring(3, us.gettip()); ps.setstring(4, us.getszin()); ps.setint(5, us.getkor()); ps.setint(6, us.getar()); ps.executeupdate(); ps.close(); //Kifejezés előkészítés //Paraméterek kötése típus és //sorrend szerint //Parancs végrehajtása //Kifejezés lezárása Lekapcs(); //Kapcsolat lezárása JOptionPane.showMessageDialog(null,"Rekord! Beszúrva! ",bm,2); //Üzenet kiírása catch(exception ex) { JOptionPane.showMessageDialog(null,"SQL hiba: "+ex.getmessage(),bm,2);
Adatkezelés JDBC-vel 3 ); Object Mezonevekt[] = {"Jel","Azon.", "Rendszám", "Típus", "Szín", "Kor", "Ár"; ttmp = new Autmj( Mezonevekt,0 ); bmodosit = new JButton(); bmodosit.settext("módosítás"); jp1.add(bmodosit); bmodosit.setbounds(10,90,100,20); bmodosit.addactionlistener( new ActionListener() { if (ttmp.getrowcount()>0) for (int i=0; i < ttmp.getrowcount(); i++) {ttmp.removerow(i);i--; AutoListaJel(); Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuMod am = new AuMod(null, ttmp, bsx, bsy); am.setvisible(true); if (am.kilep() == 2) { if (am.getrsz().length() > 0) AutoUpdate("rendszam='"+am.getRsz()+ "' where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.gettip().length() > 0) AutoUpdate("tipus='"+am.getTip()+ "' where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.getszin().length() > 0) AutoUpdate("szin='"+am.getSzin()+ "' where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.getkor().length() > 0) AutoUpdate("Kor="+am.getKor()+ " where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); if (am.getar().length() > 0) AutoUpdate("ar="+am.getAr()+ " where azon= '"+(String)ttmp.getValueAt(am.getJel(),1)+"'"); //Ha a mező hossza nem nulla: UPDATE mező=visszakapott érték, //ahol az azonosító a megjelölt sor első eleme ); btorol = new JButton(); btorol.settext("törlés"); jp1.add(btorol); btorol.setbounds(10,120,100,20); btorol.addactionlistener( new ActionListener() { if (ttmp.getrowcount()>0) for (int i=0; i < ttmp.getrowcount(); i++) {ttmp.removerow(i);i--; AutoListaJel(); Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuTorol at = new AuTorol(null, ttmp, bsx, bsy); at.setvisible(true); if (at.kilep() == 2) {
Adatkezelés JDBC-vel 4 ); int db=0; for(int x = 0; x < ttmp.getrowcount(); x++)//végigmegyünk a táblázat sorain if (at.getjel(x)) { //Ha a sor meg van jelölve AutoTorol((String)ttmp.getValueAt(x,1)); //Törli a rekordot az azonosító alapján db++; Lekapcs(); JOptionPane.showMessageDialog(null,db+" rekord törölve!",bm,2); pct = new JLabel(); pct.seticon(new ImageIcon("auto.jpg")); jp1.add(pct); pct.setbounds(140,20,200,136); //Kép megjelenítése //Kép elérési helye (aktuális könyvtár), neve //Kép helye, mérete jp4.setlayout(null); bkapcsell = new JButton(); bkapcsell.settext("kapcsolat ellenőrzése"); jp4.add(bkapcsell); bkapcsell.setbounds(10,30,170,20); bkapcsell.addactionlistener( new ActionListener() { if (conn!= null ) {JOptionPane.showMessageDialog(null,"Kapcsolat rendben!",bm,2); else {JOptionPane.showMessageDialog(null,"Kapcsolat hiba!",bm,2); ); Lekapcs(); JOptionPane.showMessageDialog(null,"Kapcsolat bontva!",bm,2); bkapcsell = new JButton(); bkapcsell.settext("autó tábla Létrehozása"); jp4.add(bkapcsell); bkapcsell.setbounds(10,60,170,20); bkapcsell.addactionlistener( new ActionListener() { AutoCreate(); Lekapcs(); );
Adatkezelés JDBC-vel 5 binsert = new JButton(); binsert.settext("autó tábla Feltöltése"); jp4.add(binsert); binsert.setbounds(10,90,170,20); binsert.addactionlistener( new ActionListener() { AutoInsert(); Lekapcs(); ); jtp = new JTabbedPane(); jtp.addtab("autó", jp1); jtp.addtab("tulajdonos", jp2); jtp.addtab("napló", jp3); jtp.addtab("extrák", jp4); dp.add(jtp); jtp.setbounds(10,10,372,200); //Füles panel létrehozása //Fül hozzáadása: (Panel neve, változója) //Füles panel helye az ablakban public static void Kapcs(String user, String pswd){ //---------------------Kapcsolódás try { String url = "jdbc:oracle:thin:@193.6.5.42:1521:info"; //"jdbc:oracle:thin:@localhost:1521:xe"; conn = DriverManager.getConnection(url, user, pswd); catch(exception ex) {JOptionPane.showMessageDialog(null,"Kapcsolódási hiba: "+ex.getmessage(),bm,2); public static void Lekapcs(){ //---------------------Lekapcsolódás try {conn.close(); catch(exception ex) {JOptionPane.showMessageDialog(null,"Kapcsolat lezárási hiba: "+ex.getmessage(),bm,2); public static void AutoLista(){ //-------------------Autók adatainak beolvasása String az="", rsz="", tip="", sz=""; int kor=0, ar=0; String sqlp= "select * from auto"; try { s = conn.createstatement(); s.executequery(sqlp); rs = s.getresultset(); while(rs.next()) { az = rs.getstring("azon").trim(); //-----getstring rsz = rs.getstring("rendszam").trim(); tip = rs.getstring("tipus").trim(); sz = rs.getstring("szin").trim(); kor = rs.getint("kor"); //-----getint
Adatkezelés JDBC-vel 6 ar = rs.getint("ar"); dtmp.addrow(new Object[ ]{ az, rsz, tip, sz, kor, ar); //Sor beszúrása a táblázatba rs.close(); catch(exception e) {JOptionPane.showMessageDialog(null, "Nem sikerült betölteni az adatokat!"+e.getmessage(), bm, 2); public static void AutoListaJel(){ //----------Autók adatainak beolvasása jelölhető módon String az="", rsz="", tip="", sz=""; int kor=0, ar=0; String sqlp= "select * from auto"; try { s = conn.createstatement(); s.executequery(sqlp); rs = s.getresultset(); while(rs.next()) { az = rs.getstring("azon").trim(); rsz = rs.getstring("rendszam").trim(); tip = rs.getstring("tipus").trim(); sz = rs.getstring("szin").trim(); kor = rs.getint("kor"); ar = rs.getint("ar"); ttmp.addrow(new Object[]{ new Boolean(false), az, rsz, tip, sz, kor, ar); rs.close(); catch(exception e) {JOptionPane.showMessageDialog(null, "Nem sikerült betölteni az adatokat!"+e.getmessage(), bm, 2); public static void AutoTorol(String az){ //--------------------------Autók törlése String sqlp="delete from auto where azon = '"+az+"'"; try { s = conn.createstatement(); s.executeupdate(sqlp); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült törölni az adatokat!"+e.getmessage(), bm, 2); public static void AutoUpdate(String adat){ //------------------Autó módosítás String sqlp="update auto set "+adat; try { s = conn.createstatement(); s.executeupdate(sqlp); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült módisítani az adatokat!"+e.getmessage(), bm, 2);
Adatkezelés JDBC-vel 7 public void AutoCreate(){ //---------------------------------Autó tábla létrehozása String sqlp="create table auto(azon char(4) NOT NULL,rendszam char(7),tipus char(20),szin char(14),kor number(2),ar number(8),constraint auto_pk PRIMARY KEY (azon))"; System.out.println("Kiadott SQL parancs: "+sqlp); try { s = conn.createstatement(); s.executeupdate(sqlp); JOptionPane.showMessageDialog(null,"Autó tábla létrehozva!",bm,2); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült törölni az adatokat!"+e.getmessage(), bm, 2); public void AutoInsert(){ //---------------------------------Autó adatfeltöltés String sqlp1="insert into auto values ('A001','WRF-834','Hyundai i30','fehér',1,2300000)"; String sqlp2="insert into auto values ('A002','KGB-007','Mercedes ML520','fekete',3,7500000)"; String sqlp3="insert into auto values ('A003','ART-985','Opel Astra','piros',8,900000)"; String sqlp4="insert into auto values ('A004','BZM-922','Lada Samara','szürke',18,150000)"; String sqlp5="insert into auto values ('A005','DER-300','Opel Corsa','piros',7,600000)"; try { s = conn.createstatement(); s.executeupdate(sqlp1); s.executeupdate(sqlp2); s.executeupdate(sqlp3); s.executeupdate(sqlp4); s.executeupdate(sqlp5); catch(exception e) { JOptionPane.showMessageDialog(null, "Nem sikerült módisítani az adatokat!"+e.getmessage(), bm, 2); public void MetaAdatok(String TableName){ //------------------- Tábla metaadatok Object mn[] = {"Mezőnév", "Típus", "Méret", "Null adat"; dtmpm = new AutmM( mn, 0 ); if (dtmpm.getrowcount()>0) for (int i=0; i < dtmpm.getrowcount(); i++) {dtmpm.removerow(i);i--; try { DatabaseMetaData meta = conn.getmetadata(); ResultSet res = meta.getcolumns(null, null, TableName, null); while (res.next()) { dtmpm.addrow(new Object[]{res.getString("COLUMN_NAME"), res.getstring("type_name"), res.getint("column_size"), res.getstring("nullable")); ResultSet rs2 = meta.getprimarykeys(null, null, TableName); boolean PKYes = false; while(rs2.next()){ String PKName = rs2.getstring(4); dtmpm.addrow(new Object[]{PKName, "Primary KEY", "", ""); PKYes=true;
Adatkezelés JDBC-vel 8 if (!PKYes) dtmpm.addrow(new Object[]{"Nincs a táblában", "Primary KEY", "", ""); rs2 = meta.getexportedkeys(null, null, TableName); boolean FKYes = false; while(rs2.next()){ String FKName = rs2.getstring(4); dtmpm.addrow(new Object[]{FKName, "Foreign KEY", "", ""); FKYes=true; if (!FKYes) dtmpm.addrow(new Object[]{"Nincs a táblában", "Foreign KEY", "", ""); catch(exception e) { JOptionPane.showMessageDialog(null, "MetaAdatok HIBA: "+e.getmessage(), bm, 2); Lekapcs(); Point bs = getlocation(); int bsx = (int)bs.getx(); int bsy = (int)bs.gety(); AuMeta am = new AuMeta(null, dtmpm, bsx, bsy); am.setvisible(true); public static void main(string[ ] args) { abkezel gk = new abkezel(); gk.setdefaultcloseoperation(jframe.dispose_on_close); gk.setvisible(true); Az Extrák panel:
Adatkezelés JDBC-vel 9 Autók adatainak beolvasása beszúráshoz: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class AuBe extends JDialog implements ActionListener{ private JTextField ek1, ek2, ek3, ek4, ek5, ek6; private JPanel dp; private JButton bo; private String bm="bitman mondja:"; private int kilep=0; public AuBe (JDialog f, int bsx, int bsy) { super(f,"autó beszúrás",true); setbounds(bsx+25,bsy+30,350,280); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add( dp); JLabel l1 = new JLabel("Azonosító:"); dp.add(l1); l1.setbounds(20,20,60,20); ek1 = new JTextField("",10); dp.add(ek1); ek1.setbounds(120,20,80,20); JLabel l1a = new JLabel("Max.: 4 karakter!"); dp.add(l1a); l1a.setbounds(210,20,120,20); JLabel l2 = new JLabel("Rendszám:"); dp.add(l2); l2.setbounds(20,50,100,20); ek2 = new JTextField("",10); dp.add(ek2); ek2.setbounds(120,50,80,20); JLabel l2a = new JLabel("ABC-123 alakban!"); dp.add(l2a);
Adatkezelés JDBC-vel 10 l2a.setbounds(210,50,120,20); JLabel l3 = new JLabel("Típus:"); dp.add(l3); l3.setbounds(20,80,100,20); ek3 = new JTextField("",10); dp.add(ek3); ek3.setbounds(120,80,200,20); JLabel l4 = new JLabel("Szín:"); dp.add(l4); l4.setbounds(20,110,100,20); ek4 = new JTextField("",10); dp.add(ek4); ek4.setbounds(120,110,100,20); JLabel l5 = new JLabel("Kor:"); dp.add(l5); l5.setbounds(20,140,100,20); ek5 = new JTextField("",10); dp.add(ek5); ek5.setbounds(120,140,30,20); ek5.sethorizontalalignment(jtextfield.right); JLabel l6 = new JLabel("Ár:"); dp.add(l6); l6.setbounds(20,170,100,20); ek6 = new JTextField("",10); dp.add(ek6); ek6.setbounds(120,170,80,20); ek6.sethorizontalalignment(jtextfield.right); bo = new JButton(); bo.settext(" OK"); dp.add(bo); bo.setbounds(145,210,60,30); bo.addactionlistener( this ); if (ek1.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó AZONOSÍTÓ!",bm,2); else if (ek2.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó RENDSZÁM!",bm,2); else if (ek3.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó TÍPUS!",bm,2); else if (ek4.gettext().length() == 0) {JOptionPane.showMessageDialog(null, "Hiányzó SZÍN!",bm,2); else if (!joszam(ek5.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt KOR!",bm,2); else if (!joszam(ek6.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt ÁR!",bm,2);
Adatkezelés JDBC-vel 11 else { kilep=2; this.dispose(); setvisible(false); public boolean joszam(string i){ //----------------------------Jószám? try {Integer.parseInt(i); return true; catch(numberformatexception nfe) {return false; public String getazon(){return ek1.gettext(); public String getrsz(){return ek2.gettext(); public String gettip(){return ek3.gettext(); public String getszin(){return ek4.gettext(); public int getkor(){return Integer.parseInt(ek5.getText()); public int getar(){return Integer.parseInt(ek6.getText()); public int kilep(){return kilep; ====================================================================== Autó táblamodell kijelöléshez: import javax.swing.table.defaulttablemodel; public class Autmj extends DefaultTableModel { public Autmj (Object Mezonevek[], int rows){ super(mezonevek, rows); @Override public boolean iscelleditable(int row, int col) { if (col == 0) {return true; return false; @Override public Class<?> getcolumnclass(int index){ if(index==0){return(boolean.class); if(index > 4){return(Integer.class); return(string.class); Adatok módosítása: //Módosíthatóság megadása //Oszlopok típusának megadása //Logikai //Egész //Szöveg
Adatkezelés JDBC-vel 12 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuMod extends JDialog implements ActionListener{ private JPanel dp; private JButton bo,bs; private Autmj dtmp1; private int kilep=0; private JTextField ek1, ek2, ek3, ek4, ek5; static String bm="bitman mondja:"; static int jel=0; public AuMod(JFrame f, Autmj dtmp, int bsx, int bsy) { super(f,"autó tábla - adatkiírás",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,460,245); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add(dp); JLabel l1 = new JLabel("Jelölje ki a módosítandó autót, és töltse ki a módosítandó mezőket!"); dp.add(l1); l1.setbounds(10,5,450,20); JTable table = new JTable( dtmp1 ); TableColumn column = null; for (int i = 0; i < 7; i++) { column = table.getcolumnmodel().getcolumn(i); if (i == 0) {column.setpreferredwidth(40); else if (i == 1) {column.setpreferredwidth(50); else if (i == 2) {column.setpreferredwidth(90); else if (i == 3) {column.setpreferredwidth(170); else if (i == 4) {column.setpreferredwidth(70); else if (i == 5) {column.setpreferredwidth(40); else {column.setpreferredwidth(100);
Adatkezelés JDBC-vel 13 JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,30,430,125); JLabel l2 = new JLabel("Új adatok:"); dp.add(l2); l2.setbounds(10,160,70,20); ek1 = new JTextField("",10); dp.add(ek1); ek1.setbounds(82,160,63,20); ek2 = new JTextField("",10); dp.add(ek2); ek2.setbounds(147,160,118,20); ek3 = new JTextField("",10); dp.add(ek3); ek3.setbounds(267,160,51,20); ek4 = new JTextField("",10); dp.add(ek4); ek4.setbounds(320,160,33,20); ek4.sethorizontalalignment(jtextfield.right); ek5 = new JTextField("",10); dp.add(ek5); ek5.setbounds(355,160,70,20); ek5.sethorizontalalignment(jtextfield.right); bo = new JButton(); bo.settext("módosít"); dp.add(bo); bo.setbounds(140,190,80,20); bo.addactionlistener( this ); bs = new JButton(); bs.settext("mégse"); dp.add(bs); bs.setbounds(230,190,80,20); bs.addactionlistener( this ); if (e.getsource() == this.bo) { int db=0, x=0; for(x = 0; x < dtmp1.getrowcount(); x++) if ((Boolean)dtmp1.getValueAt(x,0)) {db++; jel=x;
Adatkezelés JDBC-vel 14 bm, 2); bm, 2); if (db==0) JOptionPane.showMessageDialog(null, "Egy adatsort ki kell jelölni!", if (db>1) JOptionPane.showMessageDialog(null, "Csak egy adatsort jelöljön ki!", if (db==1) { if (ek4.gettext().length() > 0 &&!joszam(ek4.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt KOR!",bm,2); else if (ek5.gettext().length() > 0 &&!joszam(ek5.gettext())) {JOptionPane.showMessageDialog(null, "Hibásan beírt ÁR!",bm,2); else {kilep=2; this.dispose(); setvisible(false); if (e.getsource() == this.bs) {kilep=3; this.dispose(); setvisible(false); public boolean joszam(string i){ //----------------------------Jószám? try {Integer.parseInt(i); return true; catch(numberformatexception nfe) {return false; public int kilep(){return kilep; public int getjel(){return jel; public String getrsz(){return ek1.gettext(); public String gettip(){return ek2.gettext(); public String getszin(){return ek3.gettext(); public String getkor(){return ek4.gettext(); public String getar(){return ek5.gettext(); ====================================================================== Autók törlése: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuTorol extends JDialog implements ActionListener{
Adatkezelés JDBC-vel 15 private JPanel dp; private JButton bo,bs; private Autmj dtmp1; private int kilep=0; public AuTorol(JFrame f, Autmj dtmp, int bsx, int bsy) { super(f,"autó tábla - adatkiírás",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,460,245); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add(dp); JLabel l1 = new JLabel("Jelölje ki a törlendő autókat!"); dp.add(l1); l1.setbounds(10,5,260,20); JTable table = new JTable( dtmp1 ); TableColumn column = null; for (int i = 0; i < 7; i++) { column = table.getcolumnmodel().getcolumn(i); if (i == 0) {column.setpreferredwidth(40); else if (i == 1) {column.setpreferredwidth(50); else if (i == 2) {column.setpreferredwidth(90); else if (i == 3) {column.setpreferredwidth(170); else if (i == 4) {column.setpreferredwidth(70); else if (i == 5) {column.setpreferredwidth(40); else {column.setpreferredwidth(100); JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,30,430,150); bo = new JButton(); bo.settext("töröl"); dp.add(bo); bo.setbounds(140,190,80,20); bo.addactionlistener( this ); bs = new JButton(); bs.settext("mégse"); dp.add(bs); bs.setbounds(230,190,80,20); bs.addactionlistener( this ); if (e.getsource() == this.bo) {kilep=2; this.dispose(); setvisible(false); if (e.getsource() == this.bs) {kilep=3; this.dispose(); setvisible(false);
Adatkezelés JDBC-vel 16 public int kilep(){return kilep; public boolean getjel(int x){return (Boolean)dtmp1.getValueAt(x,0); ====================================================================== Autó táblamodell adatok kiírásához: import javax.swing.table.defaulttablemodel; public class Autm extends DefaultTableModel { public Autm (Object Mezonevek[], int rows){ super(mezonevek, rows); @Override public boolean iscelleditable(int row, int col) { return false; @Override public Class<?> getcolumnclass(int index){ if(index > 3){return(Integer.class); return(string.class); ====================================================================== Adatok kiírása: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuKiir extends JDialog implements ActionListener{ private JPanel dp; private JButton bo,bs; private Autm dtmp1; private int kilep=0;
Adatkezelés JDBC-vel 17 public AuKiir(JFrame f, Autm dtmp, int bsx, int bsy) { super(f,"autó tábla - adatkiírás",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,460,245); dp = new JPanel(); dp.setlayout(null); this.getcontentpane().add( dp); JTable table = new JTable( dtmp1 ); TableColumn column = null; for (int i = 0; i < 6; i++) { column = table.getcolumnmodel().getcolumn(i); if (i == 0) {column.setpreferredwidth(50); else if (i == 1) {column.setpreferredwidth(90); else if (i == 2) {column.setpreferredwidth(200); else if (i == 3) {column.setpreferredwidth(70); else if (i == 4) {column.setpreferredwidth(40); else {column.setpreferredwidth(100); table.setautocreaterowsorter(true); TableRowSorter<Autm> sorter = (TableRowSorter<Autm>)table.getRowSorter(); JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,10,430,170); bo = new JButton(); bo.settext(" OK"); dp.add(bo); bo.setbounds(200,190,60,20); bo.addactionlistener( this ); if (e.getsource() == this.bo) {kilep=2; this.dispose(); setvisible(false); public int kilep(){return kilep;
Adatkezelés JDBC-vel 18 Tábla metaadatok: Táblamodell a metaadatok kiírásához: import javax.swing.table.defaulttablemodel; public class AutmM extends DefaultTableModel { public AutmM (Object Mezonevek[], int rows){ super(mezonevek, rows); @Override public boolean iscelleditable(int row, int col) { return false; @Override public Class<?> getcolumnclass(int index){ if(index > 1){return(Integer.class); return(string.class); //======================================================= import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; public class AuMeta extends JDialog implements ActionListener{ private JPanel dp; private JButton bo,bs; private AutmM dtmp1; private int kilep=0; public AuMeta(JFrame f, AutmM dtmp, int bsx, int bsy) { super(f,"autó tábla - Metaadatok",true); dtmp1=dtmp; setbounds(bsx-30,bsy+30,465,260); dp = new JPanel(); dp.setlayout(null);
Adatkezelés JDBC-vel 19 this.getcontentpane().add( dp); JTable table = new JTable( dtmp1 ); JScrollPane sp; sp = new JScrollPane(table); dp.add(sp); sp.setbounds(10,10,430,170); bo = new JButton(); bo.settext(" OK"); dp.add(bo); bo.setbounds(195,190,65,20); bo.addactionlistener( this ); if (e.getsource() == this.bo) {kilep=2; this.dispose(); setvisible(false); public int kilep(){return kilep;