Tablo Verilerini Saklamak için Dizileri Kullanma
İçin veri sağlamanın basit bir yolu
Sınıfı iki dizi kullanmaktır. Birincisi sütun adlarını bir
dizi:
İkinci dizi, tablo için verileri tutan iki boyutlu bir nesne dizisidir. Bu dizi, örneğin, altı Olimpik yüzücü içerir:
Buradaki anahtar, iki dizinin aynı sayıda sütuna sahip olduğundan emin olmaktır.
JTable'ı oluşturma
Verileri yerleştirdikten sonra, tablo oluşturmak basit bir iştir. Sadece ara
JTableinşaatçı ve iki diziyi iletin: Kullanıcının tüm verileri görebilmesini sağlamak için büyük olasılıkla kaydırma çubukları eklemek isteyeceksiniz. Bunu yapmak için.
JTableiçine
JScrollPane: Şimdi tablo görüntülendiğinde, sütunları ve veri satırlarını göreceksiniz ve yukarı ve aşağı kaydırma yeteneğine sahip olacaksınız.
JTable nesnesi etkileşimli bir tablo sağlar. Hücrelerden herhangi birini çift tıklatırsanız, içeriği düzenleyebilirsiniz - herhangi bir düzenleme temel verileri değil, yalnızca GUI'yi etkiler. (An olay dinleyicisi verilerin değişmesi için uygulanması gerekir.).
Sütunların genişliklerini değiştirmek için, fareyi bir sütun başlığının kenarına getirin ve ileri geri sürükleyin. Sütunların sırasını değiştirmek için bir sütun başlığını tıklayıp basılı tutun, ardından yeni konuma sürükleyin.
Sütunları Sıralama
Satırları sıralama becerisi eklemek için
setAutoCreateRowSorteryöntem: Bu yöntem true olarak ayarlandığında, satırları o sütunun altındaki hücrelerin içeriğine göre sıralamak için sütun başlığına tıklayabilirsiniz.
Tablonun Görünümünü Değiştirme
Izgara çizgilerinin görünürlüğünü kontrol etmek için
setShowGridyöntemi: Tablonun rengini tamamen değiştirmek için.
arka planı ayarlave
setGridColoryöntemleri: Tablonun sütun genişlikleri varsayılan olarak eşittir. Masanın bulunduğu kap yeniden boyutlandırılabilirse, sütunların genişlikleri genişler ve küçülür ve kap büyür veya küçülür. Bir kullanıcı sütunu yeniden boyutlandırırsa, sağdaki sütunların genişliği yeni sütun boyutuna uyacak şekilde değişir.
İlk sütun genişlikleri setPreferredWidth yöntemi veya bir sütun kullanılarak ayarlanabilir. Önce sütuna bir başvuru almak için TableColumn sınıfını ve ardından boyutu ayarlamak için setPreferredWidth yöntemini kullanın:
Satır Seçme
Varsayılan olarak, kullanıcı tablonun satırlarını üç yoldan biriyle seçebilir:
- Tek bir satır seçmek için, o satırdaki bir tablo hücresini seçin.
- Sürekli, birden çok satır seçmek için fareyi birkaç satırın üzerine sürükleyin veya shift hücresi basılıyken tablo hücrelerini seçin.
- Sürekli olmayan, birden çok satır seçmek için, Kontrol tuşu (komut tuşu Mac'ler için).
Tablo Modeli Kullanma
Bir tablonun verileri için birkaç dizi kullanmak, basit bir sicimdüzenlenebilir tabanlı tablo. Oluşturduğumuz veri dizisine bakarsanız,
-
sütun içerir
ve
sütun içerir
. Yine de bu sütunların her ikisi de Dize olarak görüntülenir. Bu davranışı değiştirmek için bir tablo modeli oluşturun.
Bir tablo modeli, tabloda görüntülenecek verileri yönetir. Bir tablo modeli uygulamak için, tabloyu genişleten bir sınıf oluşturabilirsiniz.
sınıf:
Yukarıdaki altı yöntem, bu adım adım kılavuzda kullanılan yöntemler olmakla birlikte,
sınıfındaki verileri işlemede yararlı sınıf
nesne. Bir sınıfı,
yalnızca
,
ve
yöntemleri.
Yukarıda gösterilen bu beş yöntemi uygulayarak yeni bir sınıf oluşturun:
Bu örnekte,
tablo verilerini içeren iki dizeyi tutmak için bir sınıf. Sonra
,
ve
yöntemler tablo için değerleri sağlamak üzere dizileri kullanabilir. Ayrıca,
yöntemi, düzenlenecek ilk iki sütuna izin vermemek için yazılmıştır.
Şimdi, iki diziyi kullanmak yerine
nesne, biz kullanabilirsiniz
sınıf:
Kod çalıştığında,
nesne, tablo hücrelerinin hiçbiri düzenlenebilir olmadığından ve sütun adları doğru şekilde kullanıldığından tablo modelini kullanıyor. Eğer
yöntemi uygulanmadıysa, tablodaki sütun adları A, B, C, D vb. varsayılan adları olarak görüntülenir.
Şimdi yöntemi düşünelim
. Bu tek başına tablo modelini uygulamaya değer kılar çünkü
sütununda bulunan veri türüne sahip nesne. Hatırlarsanız, nesne veri dizisinde olmayan iki sütun vardır
veri türleri:
ints içeren sütun ve
içeren sütun
. Bu veri türlerini bilmek,
bu sütunlar için. Örnek tablo kodunu, uygulanan tablo modeliyle çalıştırmak,
sütunu aslında bir dizi onay kutusu olacaktır.
ComboBox Düzenleyicisi Ekleme
Tablodaki hücreler için özel düzenleyiciler tanımlayabilirsiniz. Örneğin, birleşik giriş kutusunu alan için standart metin düzenlemeye alternatif yapabilirsiniz.
İşte bir örnek
ülke alanı:
Ülke sütunu için varsayılan düzenleyiciyi ayarlamak için
ülke sütununa başvuru almak için sınıf ve
ayarlama yöntemi
hücre editörü olarak: