JTable怎样随着Column宽度的增加而变宽

zxcvbnmluton 2011-08-18 11:57:21
怎样才能在增加某个column的宽度时同时增加JTable的宽度

而不是减少其他column的宽度。

例如现在JTable的宽度时1000,其中有五个column,每个column的宽度是200,如果其中一个column被拉宽至3000,怎样不改变其他column的宽度,而把JTable的宽度增加为1100.

xiexie
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntor 2011-08-19
  • 打赏
  • 举报
回复
jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

JScrollPane 出现水平 jscrollbar。
风尘中国 2011-08-19
  • 打赏
  • 举报
回复
你这个实现起来有工作量的,而且未必好实现。一般JTable本身会放到一个JScollPane里面,如果刚开始的JTable就已经充满了组件分配给的宽度,那么你怎么让column的宽度增加的同时自己JTable的宽度?
再者,如果增加的时候JTable同时增加,那么在减少的时候,是否也同时减少呢?
feifeikub 2011-08-19
  • 打赏
  • 举报
回复
要窗口随着JTable的增加变宽是相对复杂的,你现在是把JTable放在JScrollPane里面,如果你增加JTable的列并且设置固定的宽度的话,当超过窗体的宽度,后面的列将不会显示出来,如果没有设置固定的宽度,将会在固定的窗体挤下这些列数,表头如果不够宽字体将会出现“某某....”,所以有一个方法可以让你后面的也可以看见,那就是加载滚动条,无论你加多宽,都可以实现在后面增加,
jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
jPanel1.setLayout(new BorderLayout());

jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
如果不成功就只写jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
这些代码是写在初始化表格的时候。
TKD03072010 2011-08-19
  • 打赏
  • 举报
回复
顶一下
swing ...
softroad 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huntor 的回复:]

jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

JScrollPane 出现水平 jscrollbar。
[/Quote]

需要滚动条的

62,614

社区成员

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

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