2

我正在尝试调整 JTable 中列的宽度。我需要在程序运行时调整它们的大小以查看完整的列标题名称。我想调整显示在摆动框架中的数据库表的大小。

我试过了

table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS)

但是我没有得到想要的输出,因为当我使用它时,我有一个水平滚动条来滚动到屏幕外的列。但我希望整个表格的大小大约等于框架的大小。

如何使列尽可能宽以显示所有文本?

4

1 回答 1

4

但我希望整个表格的大小大约等于框架的大小。

JTable table = ...;
JFrame frame = ...;
JPanel contentPane = new JPanel( new BorderLayout() );
contentPane.add( new JScrollPane( table ), BorderLayout.CENTER );
frame.setContentPane( contentPane );

如何使列尽可能宽以显示所有文本?

不幸的是, 的最大宽度JTable将被限制为 的大小JFrame,并且没有机制可以从您JTable想要的宽度推送到JFrameJTable包含在 中时的JScrollPane

你可以做的是尝试给你JScrollPane正确的宽度。我还没有尝试过,但我怀疑给你的滚动窗格与你的表格的首选宽度相同的宽度(当自动调整大小打开时)应该可以解决这个问题(+可能是垂直滚动条的一些额外宽度)。但是请注意,这只有在您允许JFrame其中JScrollPane包含的宽度也增加时才有效。

于 2012-08-22T05:54:24.927 回答