java - I'm Using Camick's ListTableModel and RowTableModel, NO DATA IN JTABLE -
i trying use listtablemodel , tried following examples online , still finding difficult show 'resultset' data in jtable. im using model-view-controller method building gui application in netbeans. of gui components placed in views , controller handling updates visibility view. model class has queries , responsible accessing database directly using jdbc.
the "jtable" "searchtable" created , initialized inside view class , being accessed controller via method (getsearchtable()).
public jtable getsearchtable(){ // view class return searchtable; }
i have "listtablemodel" being created inside controller class , following camick's tutorial.
private product_view productview; private product_model productmodel; private product product; public product_controller(product_model model, product_view view){ this.productmodel = model; this.productview = view; view.addsavelistener(new savelistener()); view.addcloselistener(new closelistener()); view.addsearchsinglelistener(new searchlistener()); } public void displayproductview(){ this.productview.setdefaultcloseoperation(jframe.dispose_on_close); this.productview.setvisible(true); } class searchlistener implements actionlistener { public searchlistener() { } @override public void actionperformed(actionevent ae) { listtablemodel model = null; string prodname = productview.getproductname(); jtable temptable = productview.getsearchtable(); model = productmodel.getproduct(prodname, model); temptable = new jtable(model); } }
finally method "getproduct" inside model class , being called controller class.
public listtablemodel getproduct(string productname, listtablemodel model){ string query = "select * products name='" + productname + "';"; statement stmt; try { stmt = this.conn.createstatement(); stmt.executequery (query); resultset rs = stmt.getresultset(); writeresultset(rs); model = listtablemodel.createmodelfromresultset(rs); rs.close (); stmt.close (); } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } return model; }
the jtable not return anything, how can view resultset data (i have printed out values being returned "writeresultset" console , query working correctly?
creating table doesn't add table gui. somewhere in code need code like:
frame.add( table );
if updating existing table don't create new table is:
table.setmodel(...);
after recreating model.
edit:
to test sql create simple sscce code like:
listtablemodel model = listtablemodel.createmodelfromresultset( resultset ); jtable table = new jtable( model ); frame.add( new jscrollpane( table ) ); frame.setsize(...); frame.setvisible( true );
Comments
Post a Comment