2011-11-05 134 views

回答

1

1)您需要将设置宽度设置为TableColumn,例如

TableColumn col = table.getColumnModel().getColumn(vColIndex); 
int width = 100; 
col.setPreferredWidth(width); 

2)需要指定渲染器细胞,表...

+1

所以这作品...有时。但是,使用的实际列宽有很多特质。这里有几件事要考虑:col.setMaxWidth(...); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);最后,如果调用table.setModel,则表列将被重置,因此需要调用table.getColumnModel()。getColumn(...)。setPreferredWidth(...)。 – Jason

1

1)可以使用下面的方法来计算预期的列单元宽度ragarding其内容

FontMetrics metrics = table.getFontMetrics(table.getFont()); 
int width = metrics.stringWidth(strCellContent); 
+0

不,这没有帮助:您无法知道渲染组件决定如何显示单元格内容 – kleopatra