JTable sınıfı, verileri tablo biçiminde görüntülemek için kullanılır. Satır ve sütunlardan oluşur.
JTable sınıf bildirimi
javax.swing.JTable sınıfının bildirimini görelim.
| Kurucu | Tanımı |
| JTable() | Boş olarak tablo oluşturur. |
| JTable(Object[][] rows, Object[] columns) | Belirli bir data ile tablo oluşturur. |
En basit şekilde aşağıdaki gibi oluşturabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; public class Main { public static void main(String[] args) { JFrame f = new JFrame(); String data[][] = { {"101","Ahmet","8000"}, {"102","Hayri","7800"}, {"101","Hüseyin","8500"}}; String column[]={"ID","İSİM","MAAŞ"}; JTable jtable=new JTable(data,column); jtable.setBounds(80, 50, 250, 100); f.add(jtable); f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
Çıktı:
JTable ile Scroll Kullanımı
JTable içindeki veriler artmaya başladığında ise JScrollPane sınıfını kullanarak JTable nesnesine bir tane scroll ekleyebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; public class Main { public static void main(String[] args) { JFrame f = new JFrame(); String data[][] = { {"101","Ahmet","8000"}, {"102","Hayri","7800"}, {"102","Hayri","7500"}, {"102","Hayri","4000"}, {"102","Hayri","3000"}, {"102","Hayri","2000"}, {"102","Hayri","1000"}, {"101","Hüseyin","8500"}}; String column[]={"ID","İSİM","MAAŞ"}; JTable jtable=new JTable(data,column); JScrollPane scrollPane = new JScrollPane(jtable); scrollPane.setVisible(true); scrollPane.setBounds(30, 50, 300, 100); f.add(scrollPane); f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
Çıktı:

JTable Satır Ekleme
Veriler üzerinde güncelleme yapmak için en iyi bir tane model oluşturmamız en iyi çözümlerden biri olacaktır. JList örneklerinde kullanıldığı gibi ekleme ve silme işlerinde bir tane model oluşturuyoruz.
Bir tane DefaultTableModel nesnesi oluşturarak modele ekleme yapıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; import javax.swing.table.DefaultTableModel; public class Main { public static void main(String[] args) { JFrame f = new JFrame(); String sutun[]={"ID","İSİM","MAAŞ"}; String data[][] = { {"101","Ahmet","8000"}, {"102","Hayri","7800"}, {"103","Hüseyin","8500"}}; DefaultTableModel model = new DefaultTableModel(data,sutun); JTable jtable=new JTable(model); jtable.setBounds(30, 50, 300, 100); //modele ekleme String[] satir = { "105", "Kazım", "2850" }; model.addRow(satir); f.add(jtable); f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
JTable Satır Seçme ve Silme
JTable ile her hangi bir satıra tıklayıp o satır üzerinde okuma yada silme işlemini yapabilirsiniz. Aşağıdaki örnekte bu iki işlemde bir arada yapılmıştır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; import javax.swing.table.DefaultTableModel; public class Main { public static void main(String[] args) { JFrame f = new JFrame(); String sutun[]={"ID","İSİM","MAAŞ"}; String data[][] = { {"101","Ahmet","8000"}, {"102","Hayri","7800"}, {"103","Hüseyin","8500"}}; DefaultTableModel model = new DefaultTableModel(data,sutun); JTable jtable=new JTable(model); jtable.setBounds(30, 50, 300, 100); jtable.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent event) { int satir = jtable.getSelectedRow(); if(satir != -1) { //seçili satırı yazdırma int modelRow = jtable.convertRowIndexToModel(satir); String str = String.format( "Seçili Satır %d. " + "Seçili Satır Model içinde: %d.", satir, modelRow); System.out.println(str); //SEÇİLİ SATIRI KALDIRMA model.removeRow(satir); } } } ); f.add(jtable); f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
Çıktı:

Kaynak:
https://docs.oracle.com/javase/tutorial/uiswing/components/table.html










Yorum Yap