java - Database-JTable Interaction -


every time implement database viewer have functions populate table , adjust column size. find ready component can view query result, sort, edit entries in table , automaticaly adjust size of column respect data. want use metadata define type of entities automaticaly. thing pass resultset of query , component rest. idea?

what have done far:

private static defaulttablemodel buildtablemodel(resultset rs) throws sqlexception {      resultsetmetadata metadata = rs.getmetadata();      // names of columns     vector<string> columnnames = new vector<string>();     int columncount = metadata.getcolumncount();     (int column = 1; column <= columncount; column++) {         columnnames.add(metadata.getcolumnname(column));     }      // data of table     vector<vector<object>> data = new vector<vector<object>>();     while (rs.next()) {         vector<object> vector = new vector<object>();         (int columnindex = 1; columnindex <= columncount; columnindex++) {             vector.add(rs.getobject(columnindex));         }         data.add(vector);     }      return new defaulttablemodel(data, columnnames);  }  public static void showresult(resultset rs) throws sqlexception{     //creates table     jtable table = new jtable(buildtablemodel(rs));     table.setenabled(false);      //abjust table size     table.setautoresizemode(jtable.auto_resize_off);     tablecolumnadjuster tca = new tablecolumnadjuster(table);//the class adjusting column size     tca.adjustcolumns();          //jframe     jframe view = new jframe("view");     view.setdefaultcloseoperation(jframe.dispose_on_close);      //add frame     jscrollpane pane = new jscrollpane(table);     view.add(pane);      //settings     view.setvisible(true);     view.setsize(table.getwidth(), 400); } 

and have class adjust column size.

to sort records use order clause query fire records. use tablecolumnmodel set column size. here code   //your edit code rs=st.executequery("select * managevendor order sname");             table.setmodel(buildtablemodel(rs));             tablecolumnmodel tcm=table.getcolumnmodel();             tcm.getcolumn(0).setpreferredwidth(50);             tcm.getcolumn(1).setpreferredwidth(200);             tcm.getcolumn(2).setpreferredwidth(150);             tcm.getcolumn(3).setpreferredwidth(60);             tcm.getcolumn(4).setpreferredwidth(50);             tcm.getcolumn(5).setpreferredwidth(250); 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -