is there a way i could set/fix the column widths for a Jtable when it displays.... is there anyway to make it uneditable....
Alan Shore
Ranch Hand
Joined: Apr 16, 1999
Posts: 147
posted
0
I found the easiest way to make a JTable non-editable is to extend the DefaultTableModel like this: <CODE> package util; import javax.swing.*; import javax.swing.table.*; // No edit table model public class NoEditTableModel extends DefaultTableModel { public NoEditTableModel(java.lang.Object[] colNames, int numRows) { super(colNames, numRows); } public NoEditTableModel(java.util.Vector data, java.util.Vector columnNames) { super(data, columnNames); } public NoEditTableModel(Object[][] data, Object[] columnNames) { super(data, columnNames); } public boolean isCellEditable(int row, int col) { return false; } } </CODE> ***** To set column sizes, set them in the TableColumnModel: <CODE> TableColumnModel colModel = yourTbl.getColumnModel(); // set width of columns in table colModel.getColumn(0).setPreferredWidth(100); colModel.getColumn(1).setPreferredWidth(100); colModel.getColumn(2).setPreferredWidth(150); colModel.getColumn(3).setPreferredWidth(100); colModel.getColumn(4).setPreferredWidth(175); colModel.getColumn(5).setPreferredWidth(200); </CODE> Hope this will help!
Okay I like the example listed above two points, 1. can we default the text font size 2. can we set the Column class at this same place? -- and also set the ColumnName? I know we can create the getColumnName getColumnClass methods... it would seem more strightforward to just set them here.... Thanks! Ron Erwin