java - JTable hides the header after INSERT -
so i'm starting making sample project can insert employee , department connected database. when trying insert values on fields. header or columns hides after hitting button "add". appreciate!
codes
string inputemployee = employeetf.gettext(); string inputdepartment = departmenttf.gettext(); if(inputemployee.isempty() && inputdepartment.isempty()){ joptionpane.showmessagedialog(null, "please fill up!"); } else if(inputemployee.isempty()){ joptionpane.showmessagedialog(null, "employee name should not left blank"); } else if(inputdepartment.isempty()){ joptionpane.showmessagedialog(null, "department should not left blank"); } else{ defaulttablemodel model = new defaulttablemodel(); jtable.setmodel(model); object[] row = new object[2]; string myquery = "insert sample (employeename,department) values (?,?)"; try{ connection mycon = dbutilities.getconnection(dbtype.jdbc); preparedstatement myps = mycon.preparestatement(myquery); myps.setstring(1, employeetf.gettext()); myps.setstring(2, departmenttf.gettext()); row[0] = employeetf.gettext(); row[1] = departmenttf.gettext(); myps.executeupdate(); system.out.print("record inserted"); } catch (sqlexception ex) { dbutilities.processexception(ex); } { try { if(myps != null) myps.close(); if(mycon != null) mycon.close(); } catch (sqlexception e) { system.out.println("error is: " + e.getmessage()); } }
when try insert john in employee fields , bsit in department fields. header disappear.
as can see here header/columns disappear. did missed? thanks
defaulttablemodel model = new defaulttablemodel(); jtable.setmodel(model);
you create new tablemodel without columns. don't create new tablemodel.
instead use current tablemodel jtable (since contains column names) add new rows of data:
//defaulttablemodel model = new defaulttablemodel(); //jtable.setmodel(model); defaulttablemodel model = (defaulttablemodel)ttable.getmodel();
then when update database data can update table @ same time.
myps.executeupdate(); model.addrow( row );
of course assumes created jtable using defaulttablemodel in first place.
Comments
Post a Comment