我需要我的JTable自動調整其列寬以適應內容。我發現TableColumnAdjuster
類非常有用。但是有一個小問題。假設我有5列,他們的內容很短。在這種情況下,如果我使用自動調整器,它會根據它們的內容設置前四列寬度,並將剩餘空間放到最後一列。請看例子。自動調整JTable列寬度
這裏的最後一列,Balance
給出所有的多餘空間。但是如果我需要把這個空間放到中間一列的話。在上述情況下,我需要將該空間分配給第三列name
。我嘗試修改TableColumnAdjuster
類的adjustColumns()
方法。但我無法得到它的工作。
我嘗試使用column.setPreferredWidth()
和column.setWidth()
來更改列大小。但似乎並沒有改變任何東西。如何有效更改JTable
的列大小。如果還有一些其他的選擇或直接回答我的主要問題,那就更好了。謝謝!
這太棒了,最終使用它。我在setPreferredColumnModel調用之前添加了一個檢查,看起來像「if(width> 300)width = 300;」它修復了一些我正在顯示非常長的數據字段的情況。我建議在答案中加入 - 你也許還會提取出最小/最大寬度(會做出很好的可選參數 - 事實上我現在要在我的代碼庫中這樣做)。(我希望我知道當編輯這樣的東西到別人的回答中很酷時......由於它不是CW,所以我不希望在未經許可的情況下更改內容。) –
嗨,@BillK隨意編輯/添加代碼...並且如果有的話,截圖。 ;) –
我也可以以某種方式評估標題,以便其文本不會被截斷? – Xerus