Sütun genişliklerini içeriğe sığacak şekilde otomatik olarak yeniden boyutlandırmak için JTable'ım gerekir. TableColumnAdjuster
sınıfını çok kullanışlı buldum. Ama küçük bir problem var. 5 sütunum var ve onların içeriği çok kısa. Bu durumda, otomatik ayarlayıcıyı kullanırsam, içeriklerine göre ilk dört sütun genişliğini ayarlar ve kalan tüm alanı son sütuna verir. Lütfen örneğe bakınız. İşte son sütunda JTable sütun genişliklerini otomatik olarak yeniden boyutlandırma
Balance
tüm aşırı boşluk verilir. Ama ya bu alanı orta sütunlardan birine vermem gerekirse. Yukarıdaki durumda, o alanı üçüncü sütun olan
name
'a atamam gerekiyor.
TableColumnAdjuster
sınıfının
adjustColumns()
yöntemini değiştirmeyi denedim. Ama çalışamadım.
Sütun boyutlarını değiştirmek için hem column.setPreferredWidth()
hem de column.setWidth()
numaralı yöntemleri denedim. Ama hiçbir şey değişmiyor gibi görünüyor. JTable
'un sütun boyutlarını etkili bir şekilde nasıl değiştirebilirim. Benim ana sorunuma başka bir alternatif veya doğrudan bir cevap varsa, bu daha iyi. Teşekkürler!
Bu fantastik, kullanarak sona erdi. SetPreferredColumnModel çağrısından önce "if (width> 300) width = 300" gibi görünen bir kontrol ekledim. Gerçekten uzun veri alanları görüntülediğim bazı durumları giderir. Buna cevabı eklemeyi öneririm - ve ayrıca min/max genişliğini de çıkartabilirsiniz (fantastik opsiyonel parametreler yapardım - aslında bunu codebase'de yapacağım.) (Keşke bilseydim) Böyle bir şeyi başka birinin cevabıyla değiştirmek güzeldi ...CW olmadığı için içeriği izinsiz değiştirmek istemiyorum.) –
Merhaba, @BillK Kodu düzenlemek/eklemekte özgürsünüz ... ve bir ekran görüntüsünüz varsa. ;) –
Ayrıca bir şekilde başlığı da değerlendirebilirim, böylece metni kesilmeyecek? – Xerus