java - JTable not getting data from Vector -


i have problem jtable: seemingly emty , not getting data objects vector pass it. checked related topics sadly dont find reason issue, , same code worked me once. further testing create objects on button click, add them vector , try refresh table. printlns show objects added vector, table still empty. assume, problem must somewhere in table code. post test class , related ones , hope can me.

the test class:

    public class test_table extends jframe {          private ppcontrol ppc;         private entryfilepm epm;          private jtable entrytable;         private jpanel entrytablepanel;          private jbutton addbutton;         private jbutton savebutton;         private jbutton loadbutton;         private jpanel buttonspanel;          private jlabel kursl;         private jtextfield kurst;          private jlabel cnumberl;         private jtextfield cnumbert;          private jlabel namel;         private jtextfield namet;          private jlabel datel;         private jtextfield datet;          private jlabel addressl;         private jtextfield addresst;          private jlabel pdatestl;         private jtextfield pdatestt;          private jlabel pdateendl;         private jtextfield pdateendt;          private jlabel roadl;         private jtextfield roadt;          private jlabel studyfl;         private jtextfield studyft;          private jlabel naprl;         private jtextfield naprt;          private jlabel ratingl;         private jtextfield ratingt;          private jlabel averagel;         private jtextfield averaget;          private jlabel profl;         private jtextfield proft;          private jlabel pbasel;         private jtextfield pbaset;          private jlabel homel;         private jtextfield homet;          private jpanel horriblepanel;          private jbutton saveentrybutton;         private jbutton cancelentrybutton;          private jpanel entrybuttonspanel;          private jpanel entryeditpanel;          int idcounter = 1;           public static void main(string[] args) throws entryexistsexception {             try {                 new test_table();             } catch (ioexception e) {                 e.printstacktrace();             }         }          public int getidcounternext(){             return idcounter++;         }             public test_table() throws ioexception, entryexistsexception {             super("test");             ppc = new ppcontrol();             initialize();         }          private void initialize() {             setsize(1200,800);             setdefaultcloseoperation(jframe.do_nothing_on_close);             setlayout(new borderlayout());             createentrytable();             createbuttonspanel();             createentrytab();             add(entrytablepanel,borderlayout.center);             add(entryeditpanel, borderlayout.west);             add(buttonspanel, borderlayout.south);             this.setvisible(true);             this.pack();          }          private void createentrytable() {             final vector<string> columns = new vector<string>();             columns.add("std");             columns.add("contr #");             columns.add("name");              columns.add("birth dt");             columns.add("address");             columns.add("pr date start");              columns.add("pr date end");             columns.add("road");             columns.add("std form");              columns.add("№ way");             columns.add("rating");             columns.add("avrg");              columns.add("prof");             columns.add("pr base");             columns.add("home");              final entrytablemodel entrymodel = new entrytablemodel(ppc.giveallentry(), columns);             entrytable = new jtable();             entrytable.setmodel(entrymodel);             entrytable.setshowgrid(true);     //      entrytable.getselectionmodel().setselectionmode(listselectionmodel.single_selection);     //      entrytable.getselectionmodel().addlistselectionlistener(new tableselectionlistener());             jscrollpane entryscrollpane = new jscrollpane(entrytable);             entrytablepanel = new jpanel();             entrytablepanel.setlayout(new gridlayout());             entrytablepanel.add(entryscrollpane, borderlayout.center);             entrytablepanel.setborder(borderfactory.createemptyborder(0, 10, 0, 10));         }          private void createbuttonspanel() {             addbutton = new jbutton("add");             savebutton = new jbutton("save");             savebutton.addactionlistener(new buttonslistener());             loadbutton = new jbutton("load");             loadbutton.addactionlistener(new buttonslistener());              buttonspanel = new jpanel();             buttonspanel.setlayout(new gridlayout(1, 3));             buttonspanel.add(addbutton);             buttonspanel.add(savebutton);             buttonspanel.add(loadbutton);          }          private void createentrytab(){             jlabel kursl = new jlabel ("kurs");             kurst = new jtextfield();  //otherlabels/tfields              jlabel ratingl = new jlabel("rating.double");             ratingt = new jtextfield();              jlabel averagel = new jlabel("average.double");             averaget = new jtextfield();              jlabel profl = new jlabel("profession");             proft = new jtextfield();              jlabel pbasel = new jlabel("prak.base");             pbaset = new jtextfield();              jlabel homel = new jlabel("home");             homet = new jtextfield();              horriblepanel = new jpanel();             jscrollpane horriblescrollpane = new jscrollpane(horriblepanel);             horriblepanel.setlayout(new gridlayout(15,2));     //      horriblepanel.add(horriblescrollpane, borderlayout.center);             horriblepanel.add(kursl);             horriblepanel.add(kurst);  //other labels/tfields             horriblepanel.add(homel);             horriblepanel.add(homet);              saveentrybutton = new jbutton("save");             saveentrybutton.addactionlistener(new buttonslistener());             cancelentrybutton = new jbutton("cancel");             entrybuttonspanel = new jpanel();             entrybuttonspanel.setlayout(new gridlayout());             entrybuttonspanel.add(saveentrybutton);             entrybuttonspanel.add(cancelentrybutton);              entryeditpanel = new jpanel();             entryeditpanel.setlayout(new gridlayout());             entryeditpanel.add(horriblepanel);             entryeditpanel.add(entrybuttonspanel);          }          class tableselectionlistener implements listselectionlistener {              @override             public void valuechanged(listselectionevent e) {                 int rowindex = -1;                 if (e.getsource().equals(entrytable.getselectionmodel())                         && entrytable.getselectedrow() != -1) {                     rowindex = entrytable.convertrowindextomodel(entrytable                             .getselectedrow());                     entrytablemodel em = (entrytablemodel) entrytable.getmodel();                     entry entry = em.giveentryinrow(rowindex);                 }             }         }          class buttonslistener implements actionlistener{             public void actionperformed(final actionevent ae) {                 if(ae.getsource().equals(addbutton)){                  }                 if (ae.getsource().equals(savebutton)){                     try {                         epm.exporttable(entrytable);                     } catch (ioexception e) {                         e.printstacktrace();                     }                 }                 if(ae.getsource().equals(loadbutton)){                     try {                         epm.importtable("c:/test.xls");                     } catch (biffexception | ioexception | parseexception e) {                         // todo auto-generated catch block                         e.printstacktrace();                     }                 }                  if (ae.getsource().equals(saveentrybutton)) {                     calendar c = new gregoriancalendar();                     int studyyear = 23;// integer.parseint(kurst.gettext());                     int contractnumber = getidcounternext();                     contractnumber++;// integer.parseint(cnumbert.gettext());                     string stname = "uano";// namet.gettext();                     date birthdate = c.gettime();                     // birthdate = epm.converttodate(datet.gettext());                      string address = "abc asd fg 123";// addresst.gettext();                     date practicedatestart = c.gettime();                     // practicedatestart = epm.converttodate(pdatestt.gettext());                      date practicedateend = c.gettime();                     // practicedateend = epm.converttodate(pdateendt.gettext());                     string railway = "bad road";// roadt.gettext();                     string studyform = "bad form";// studyft.gettext();                     int directionnumber = 1232; // =                                                 // integer.parseint(naprt.gettext());                     double rating = 3.4;// double.parsedouble(ratingt.gettext());                     double average = 4.5;// double.parsedouble(averaget.gettext());                     string profession = "fcki";// proft.gettext();                     string practicebase = "fckh";// pbaset.gettext();                     string inhabitation = "fckf2";// homet.gettext();                     try {                         ppc.addentry(studyyear, contractnumber, stname, birthdate,                                 address, practicedatestart, practicedateend, railway,                                 studyform, directionnumber, rating, average,                                 profession, practicebase, inhabitation);                          (entry e : ppc.giveallentry()) {                         system.out.println(e.getcontractnumber());                         system.out.println(e.getname());                         system.out.println(e.getbirthdate());                     }                     final entrytablemodel em = (entrytablemodel) entrytable.getmodel();                     system.out.println("a");                     em.setdatavector(ppc.giveallentry());                     entrytable.updateui();                         system.out.println("b");                      } catch (entryexistsexception e1) {                         // todo auto-generated catch block                         e1.printstacktrace();                     }                          }                 }              }         } 

the tablemodel class:

public class entrytablemodel extends defaulttablemodel {      private vector<entry> entrylist;      public entrytablemodel(final vector<entry> elist, final vector<string> columnnames) {         super();         this.columnidentifiers = columnnames;         entrylist = (vector<entry>) elist;         this.setdatavector(elist);     }      void setdatavector(final vector<entry> elist) {         final vector<vector<string>> rows = new vector<vector<string>>();         (entry e : elist) {             final vector<string> entryasvector = new vector<string>();             entryasvector.add("" + e.getstudyyear());             entryasvector.add("" + e.getcontractnumber());             entryasvector.add(e.getname());              entryasvector.add("" + e.getbirthdate());             entryasvector.add(e.getaddress());             entryasvector.add("" + e.getpracticedatestart());              entryasvector.add("" + e.getpracticedateend());             entryasvector.add(e.getrailway());             entryasvector.add(e.getstudyform());              entryasvector.add("" + e.getdirectionnumber());             entryasvector.add("" + e.getrating());             entryasvector.add("" + e.getaverage());              entryasvector.add(e.getprofession());             entryasvector.add(e.getpracticebase());             entryasvector.add(e.getinhabitation());         }         this.setdatavector(rows, columnidentifiers);     }      public boolean iscelleditable(int row, int column) {         return false;     }      public entry giveentryinrow(int row) {         return entrylist.get(row);     } 

the functions give objects vector

public class entrycontrol {     private vector <entry> entrylist = new vector <entry> ();     public void addentry(entry e) throws entryexistsexception{         if (entrylist.contains(e))             throw new entryexistsexception(e, "");         else             entrylist.add(e);     }     public vector<entry> listallentry(){         return entrylist;     } //reference in main control class     public vector<entry> giveallentry(){         return entrycontrol.listallentry();     } 

output: http://i57.tinypic.com/125geac.jpg

in setdatavector method, not adding rows. want add line:

rows.add(entryasvector); 

you have uncovered problem if had checked value of rows when pass this.setdatavector, either adding print statement or using debugger.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -