Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JTable

 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
is there a way i could set/fix the column widths for a Jtable when it displays....
is there anyway to make it uneditable....
 
Glen Tanner
Ranch Hand
Posts: 147
Java Python Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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!
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, This is the best way to do so!!!
 
Steve Tharp
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried this but I keep getting an ArrayIndexOutOfBoundsException
Any idea why?
 
ron erwin
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic