我正在尝试调整 JTable 中列的宽度。我需要在程序运行时调整它们的大小以查看完整的列标题名称。我想调整显示在摆动框架中的数据库表的大小。
我试过了
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS)
但是我没有得到想要的输出,因为当我使用它时,我有一个水平滚动条来滚动到屏幕外的列。但我希望整个表格的大小大约等于框架的大小。
如何使列尽可能宽以显示所有文本?
但我希望整个表格的大小大约等于框架的大小。
JTable table = ...;
JFrame frame = ...;
JPanel contentPane = new JPanel( new BorderLayout() );
contentPane.add( new JScrollPane( table ), BorderLayout.CENTER );
frame.setContentPane( contentPane );
如何使列尽可能宽以显示所有文本?
不幸的是, 的最大宽度JTable
将被限制为 的大小JFrame
,并且没有机制可以从您JTable
想要的宽度推送到JFrame
您JTable
包含在 中时的JScrollPane
。
你可以做的是尝试给你JScrollPane
正确的宽度。我还没有尝试过,但我怀疑给你的滚动窗格与你的表格的首选宽度相同的宽度(当自动调整大小打开时)应该可以解决这个问题(+可能是垂直滚动条的一些额外宽度)。但是请注意,这只有在您允许JFrame
其中JScrollPane
包含的宽度也增加时才有效。