java - Modifying column headers of JTable with MySQL data -
i have jtable retrieves information mysql database table. column headers named how in database.
here code create jtable:
jscrollpane spblockviewschedule = new jscrollpane(); spblockviewschedule.setbounds(10, 285, 763, 185); pnlblocksched.add(spblockviewschedule); tblblockviewschedule = new jtable(); spblockviewschedule.setviewportview(tblblockviewschedule); here code populates jtable:
private void populatetable(string sql, jtable table) { try { pst = dbconnection.conn.preparestatement(sql); rs = pst.executequery(); } catch(exception ex) { ex.printstacktrace(); } table.setmodel(dbutils.resultsettotablemodel(rs)); } how change column names displayed in jtable without changing column names of database table itself?
create empty defaulttablemodel code like:
string[] columnnames = {"course code", "subject code", "year level", ...}; defaulttablemodel model = new defaulttablemodel(columnnames, 0); then in code read data resultset add data tablemodel using addrow(....) method. like:
while (rs.next()) { vector row = new vector(); (int = 1; <= columns; i++) { row.addelement( rs.getobject(i) ); } model.addrow( row ); } finaly create table using:
jtable table = new jtable( model ); edit:
since using 3rd party code either need change way add data model. gave basic code above. can see table database example source code table database complete example.
or, can modify column headers after table created code like:
table.getcolumn("course_code").setheadervalue("course code"); ... table.repaint(); edit 2:
you can tablecolumn tablecolumnmodel:
tablecolumnmodel tcm = table.gettablecolumnmodel(); tcm.getcolumn(0).setheadervalue("course code"); ... table.repaint();
Comments
Post a Comment