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());         }     } 

enter image description here

when try insert john in employee fields , bsit in department fields. header disappear.

enter image description here

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

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -