JTABLE列宽的问题

bigcrazy 2004-04-21 11:51:42
我在程序中,想把JTABLE列宽固定下来,在数据发生变化的情况下也能保持不变。
但目前我在程序中,设定:
JTableHeader tableHeader=myTable.getTableHeader();
TableColumnModel tcm=tableHeader.getColumnModel();
for(int i=0;i<tcm.getColumnCount();i++){
TableColumn tc=tcm.getColumn(i);
tc.setPreferredWidth(billTableColumnLength[i]);
tc.setMinWidth(billTableColumnLength[i]);
tc.setMaxWidth(billTableColumnLength[i]);
}
tableHeader.setResizingAllowed(false);

但数据发生变化,一执行下面一句,就把设定的列宽又改变了:
myTableModel.fireTableStructureChanged();
哪位有经验的说说如何解决这个问题。
...全文
198 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigcrazy 2004-04-21
  • 打赏
  • 举报
回复
请关注一下,谢谢。
bigcrazy 2004-04-21
  • 打赏
  • 举报
回复
谢谢INBOY
这个方法我想过,但既然发贴问了,就想找个好的方法。
ln_boy 2004-04-21
  • 打赏
  • 举报
回复

我是在fireTableStructureChanged()之后 ,又执行了一下列宽的调整.

issuesort.setModel(issuelist);
issuelist.fireTableStructureChanged();
jIssueLIstTable.getColumnModel().getColumn(0).setPreferredWidth(250);
jIssueLIstTable.getColumnModel().getColumn(2).setMinWidth(33);
jIssueLIstTable.getColumnModel().getColumn(2).setMaxWidth(33);
jIssueLIstTable.getColumnModel().getColumn(2).setPreferredWidth(33);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧