繁体   English   中英

Java Swing JTable和JScrollPane适应列宽

[英]Java Swing JTable and JScrollPane to Fit Column Width

我是Swing的新手,并且正在使用JTable对象以显示一些信息。 基本上,框架包含一个JPanel-> GridBagLayout管理器。 JPanel包含一个JLabel(“状态表”),一个JScrollPane(包含JTable),“ Sort by” JButton和JComboBox。

如何设置列/列标题的宽度以完全显示其中包含的文本?

我尝试使用

table.getColumnModel().getColumn(i).setPreferredWidth(my_width); 

但是问题是,为了获得我想要的结果,所有列的宽度之和大于JScrollPane的宽度,因此什么也不会发生,它们将保持与以前相同。

我尝试对JScrollPane使用setSize方法以将其调整为与窗口一样大的大小...但是由于GridBagLayout管理器,看来它不能变得大于一定的大小,这仍然不适合文本。

附加信息:JTable是基于我已经实现的模型构建的,并且我修改的唯一GridBagConstraints是gridx,gridy和fill = BOTH。

表

有关调整每个列大小的简便方法,请参见表列调整器。

仅应将表添加到滚动窗格。 您可能还需要使用:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );

允许每列以其首选大小显示。

所有列的宽度之和大于JScrollPane的宽度,因此不会发生任何事情,

您对gridbag容器有问题。 组件应增长以填充所有空间。 也许使用BorderLayout会更容易。 将滚动窗格添加到中心,并将其他组件添加到北/南。 您可以将面板与不同的布局管理器嵌套在一起,以获得所需的布局。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM