swing - show the first SQL row in jTable in java -


jtable doesn't show first row. created sql table list of files in directory , show in jtable in java. see table, cant see first row.

example: in directory have 20 files. code insert sql table of 20 files, in jtable show last 19 files.

my code:

public void ba() throws sqlexception{             string dirpath = "c:/users/hajdukri/desktop/source folder";     file dir = new file(dirpath);      file[] files = dir.listfiles();         string sqll = "select * t1;";             st = con.preparestatement(sqll);             rs = st.executequery();       string sql2 = "delete t1";                   st = con.preparestatement(sql2);             st.executeupdate();      simpledateformat sdf = new simpledateformat("dd.mm.yyyy hh:mm kk");     java.sql.date sqldate = new java.sql.date(new java.util.date().gettime());      if (files.length == 0){         system.out.println("the directory empty");     } else {         (file afile : files) {             int fileslength = 0;             string s = null;               if(afile.length()>1024 || (afile.length()<(1024*1024))){                 fileslength =(int) (afile.length()/1024);                 s = "kb";             }                 if(afile.length()>(1024*1024)){                 fileslength =(int) (afile.length()/(1024*1024));                 s = "mb";             }             if(afile.length()<1024){                 fileslength =(int) (afile.length());                 s = "b";             }             string createdate = sdf.format(afile.lastmodified());             string remark = "remark";              string sql = "insert t1 (date,login,name,size,time,action) values ('"+createdate+"'"+","+"'"+username+"'"+","+"'"+afile.getname()+"'"+","+"'"+fileslength+s+"'"+","+"'"+sdf.format(afile.lastmodified())+"'"+","+"'"+remark+"')";             st = con.preparestatement(sql);             st.executeupdate();          }   }   try {                  string sql = "select * t1";         st = con.preparestatement(sql);         rs = st.executequery();         while(rs.next())                  {                      tablemodel model = dbutils.resultsettotablemodel(rs);                      jtable1.setmodel(model);                      jtable1.scrollrecttovisible(jtable1.getcellrect(jtable1.getrowcount()-1, 0, true));                  }   } catch (sqlexception ex) {              logger.getlogger(main.class.getname()).log(level.severe, null, ex);          }   } 

jtable created:

jtable1.setmodel(new javax.swing.table.defaulttablemodel(         new object [][] {             {null, null, null, null, null, null},             {null, null, null, null, null, null},             {null, null, null, null, null, null},             {null, null, null, null, null, null},             {null, null, null, null, null, null},             {null, null, null, null, null, null},             {null, null, null, null, null, null},         },         new string [] {             "date", "login", "name", "size", "file", "action"         }     ) {         class[] types = new class [] {             java.lang.object.class, java.lang.object.class, java.lang.object.class, java.lang.byte.class, java.lang.object.class, java.lang.string.class         };         boolean[] canedit = new boolean [] {             false, false, false, false, false, false         };          public class getcolumnclass(int columnindex) {             return types [columnindex];         }          public boolean iscelleditable(int rowindex, int columnindex) {             return canedit [columnindex];         }     });     jtable1.seteditingcolumn(1);     jtable1.seteditingrow(1);     jtable1.setselectionbackground(new java.awt.color(0, 153, 51));     jtable1.addmouselistener(new java.awt.event.mouseadapter() {         public void mouseclicked(java.awt.event.mouseevent evt) {             jtable1mouseclicked(evt);         }     }); 

how can set visible first row too? i'm looking same problems can't find :( me please?

while(rs.next()) {     tablemodel model = dbutils.resultsettotablemodel(rs);     jtable1.setmodel(model);     jtable1.scrollrecttovisible(jtable1.getcellrect(jtable1.getrowcount()-1, 0, true)); } 

you don't need while loop. dbutils method read data resultset tablemodel.

the problem code while (rs.next) reads first row , ignores it. the dbutils method reads rest of data.

so code should be:

rs = st.executequery(); tablemodel model = dbutils.resultsettotablemodel(rs); ... 

Comments

Popular posts from this blog

java - WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/board/] in DispatcherServlet with name 'appServlet' -

android - How to create dynamically Fragment pager adapter -

html - Outlook 2010 Anchor (url/address/link) -