Java JXTable宽度可根据内容进行调整

Java JXTable宽度可根据内容进行调整,java,swing,swingx,jxtable,Java,Swing,Swingx,Jxtable,我有一个JXTable,它是这样创建的: JScrollPane scrollPane = new JScrollPane(); contentPanel.add(scrollPane, BorderLayout.CENTER); tbl = new JXTable(); tbl.setColumnSelectionAllowed(true); tbl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tbl.setEditable(f

我有一个JXTable,它是这样创建的:

JScrollPane scrollPane = new JScrollPane();
contentPanel.add(scrollPane, BorderLayout.CENTER);
tbl = new JXTable();
tbl.setColumnSelectionAllowed(true);
tbl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tbl.setEditable(false);
scrollPane.setViewportView(tbl);
问题是当它被填充时,所有的列都被压缩以适应表。我希望根据列标题的宽度或列值(更宽)调整列,然后显示水平滚动条,使我能够向左或向右滚动


如何解决此问题?

您应该使用
packAll
方法:此方法调整列的大小以适应视口;如果启用了水平滚动,列将获得其首选宽度。

首先尝试使用to
JTable.AUTO\u RESIZE\u OFF
,然后查看。这是一个非常昂贵的操作,所以要小心…setHorizontalScrollEnabled(true)完成了这个技巧。