Swing Programlama: JTable Temel Kullanım

Bu yazımızda en basit haliyle Java UI programlamada sıkça kullandığımız JTable elemanının kullanımını ele alacağız. Herkesçe bilindiği üzere kullanıcı grafik arayüzü kütüphanelerinde veri ile ön yüzü birbirinden ayırmak için genel olarak MVC(model view controller) tasarım deseni kullanılır. Biz de işe tablomuzun model kısmını yani veri kısmını hazırlamakla işe başlayacağız.

1) Tablomuzun modelini oluşturmak için iki temel unsura ihtiyacımız var birincisi verinin kendisi yani tablonun hücrelerini dolduracak olan kısım diğeri ise sütün başlıkları.

2) Verimizi şu şekilde tanımlayalım:

Object data[][] = {
                    {"BJK", "Beşiktaş", 53},
                    {"GS", "Galatasaray", 50},
                    {"FB", "Fenerbahçe", 47},
                    {"KS", "Kayserispor", 44}
                };

3) Sütun başlıklarımızı da tanımlayalım:

 String columnNames[] = {"Kısaltma", "Takım", "Puan"};

4) Şimdi tablo modelimizi tanımlayalım. Burada DefaultTableModel sınıfını kullanacağız. Fakat dikkat etmemiz gereken bir unsur var. DefaultTableModelsınıfı herbir sütun tipi olarak kullanıcıya tanımlı olarak DefaultTableModel sınıfı TableRowSorter sınıfı ile birlikte kullanılırsa çok miktarda toString() metodunun çağrılmasına yol açar ve böylelikle performansta düşüş gözlenir. Bunu önlemek amacaıyla ön tanımlı olan getColumnClass() metodu override edilerek sütunların gerçek veri tipleri döndürülmelidir.

  TableModel model = new DefaultTableModel(data, columnNames) {
                    public Class getColumnClass(int column) {
                        Class returnValue;
                        if ((column >= 0) && (column < getColumnCount())) {
                            returnValue = getValueAt(0, column).getClass();
                        } else {
                            returnValue = Object.class;
                        }
                        return returnValue;
                    }
                };

5) Artık tablomuzu oluşturabiliriz:

  JTable table = new JTable(model);

Kaynaklar
Java resmi sitesi JTable kullanım klavuzu.
JTable javadoc.

İlgili Yazılar:

  1. Swing Programlama: JTable Hücre Editörleri Bu yazıda kısaca JTable hücreleri için öntanımlı olan editörün dışında...
  2. Swing Programlama : JFileChooser Bu derste Java swing arayüzlerimizden sistemimizdeki dosya sistemine erişimi sağlayan...
  3. JTable İp Uçları 1) JTable Header görünmeme problemi. Jtable kullanırken tablonun başlığını görebilmeniz...
  4. Java Dersleri 18 – Network Programlama – UDP Bu makalede Java’nın network programlama kabiliyetlerinden bahsedeceğim. UDP protokolü uygulamalar...

Fikrin geldiyse buraya yaz


[ Ctrl + Enter ]