关于JTable的列宽度
我需要表格能够自动出现滚动条,以便表格的行、列太长或太宽时也能显示其中的内容,于是我设置表格的ResizeMode,如下:
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
但是此时运行程序,默认的表格的列宽度是固定的,大概只有20几个象素。
请问当表格的ResizeMode为AUTO_RESIZE_OFF时,如何设定特定列的宽度???
问题点数:20、回复次数:4Top
1 楼mq612(五斗米)回复于 2006-03-03 17:37:06 得分 20
TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(int columnIndex).setPreferredWidth(int preferredWidth);Top
2 楼diyucity(都督)回复于 2006-03-03 18:34:11 得分 0
不行啊,老大,我试过了的!!Top
3 楼mq612(五斗米)回复于 2006-03-03 21:07:43 得分 0
贴简化代码来看看。Top
4 楼diyucity(都督)回复于 2006-03-06 16:41:49 得分 0
简便起见,只贴能表明问题的代码,MyDefaultTableModel是一个继承了DefaultTableModel的类,这里可是视为DefaultTableModel
JTable jTableNote = new JTable();
MyDefaultTableModel noteTableModel = businessMain.initializeNoteTableModel();
//初始化表格模型
jTableNote.setModel(noteTableModel);
jTableNote.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
就这么多了,AutoResizeMode不设置为AUTO_RESIZE_OFF时,列宽是可以设置的,也可以象你说的那样设置;可是只要设置为AUTO_RESIZE_OFF,我就不知道怎么设置列宽了。可是我必须将它设置为AUTO_RESIZE_OFF,因为需要表格能够自动伸缩。
Top




