问题是这样的:
当JTable显示的时候不能完整的显示内容! 如:要要显示书名这列时书名
java程序设计...而我需要的是完全的显示内容,列的宽度应该根据内容的大小进行调整.
正确的显示方式为:书名
java程序设计语言教程请高人帮忙指点一下!! 小人初学 在此先谢过!
当JTable显示的时候不能完整的显示内容! 如:要要显示书名这列时书名
java程序设计...而我需要的是完全的显示内容,列的宽度应该根据内容的大小进行调整.
正确的显示方式为:书名
java程序设计语言教程请高人帮忙指点一下!! 小人初学 在此先谢过!
简单说明table变量为JTable的实例,
//col为表格中列的索引号,以3为例
int col = 3;//书名列
int width = 0;
int maxwidth = 0;
for (int row = 0; row < table.getRowCount(); row++)
{
TableCellRenderer renderer = table.getCellRenderer(row, col);
Component comp = renderer.getTableCellRendererComponent(table(),
table().getValueAt(row, col), false, false, row, col);
width = comp.getPreferredSize().width;
maxwidth = width > maxwidth ? width : maxwidth;
}
//得到了最大的宽度,然后设置这列的宽度
TableColumn tc = null;
tc = table().getColumn(3);
tc.setPreferredWidth(maxwidth);
{
TableCellRenderer renderer = table.getCellRenderer(row, col);
Component comp = renderer.getTableCellRendererComponent(table,
table.getValueAt(row, col), false, false, row, col);
width = comp.getPreferredSize().width;
maxwidth = width > maxwidth ? width : maxwidth;
}