Merhabalar arkadaşlar. Java da kullandığımız temel GUI(Grafical User Interface) bileşenleri ; JButton,JLabel,JTextField,JTextArea (ve olmazsa olmazı JScrollPane) ,JCheckBox,JRadioButton ve en önemlilerinden menü sınıflarıydı. Bu bileşenler kısmen işimizi gören bileşenler olmak üzere bazen yetersiz kalabiliyorlar. Java her konuda olduğu gibi bu konuda da bizi yalnız bırakmadı ve daha fonksiyonel bileşenlerle karşımıza çıktı. Misal; JTable, JColorChooser , JTree ilh.
Ben de 3 yazı dizimi bu ileri swing bileşenlerine ayırmak istedim ve ilk olarak JTable class ı ile başlamayı uygun gördüm.
JTable
JTable verileri satır ve sütun şeklinde gösteren , gösterirken de iki boyutlu dizi kullanan bir swing bileşenidir. JTable bileşeni JDBC (Java Data Base Connection) kullananlar için pek kullanışlı bir bileşendir. Nihayetinde veritabanında da satır ve sütunlarlar vardır. JTable bileşenini JScrollPane bileşeni ile beraber kullanmamız gerekir. Yoksa pek bir anlamı olmaz. JScrollPane şu bizim penceremizi aşağı yukarı sürüklemek için kullandığımız araçtır. Bu bileşene JTable eklenir.
JTable bileşeni 3 model destekler.Bunlar;
-Tablo modeli:Veri işlemek ve tutmak için
-Kolon modeli:Tabloda ki tüm kolonları gösterir.
-Liste-seçim modeli:JList classına benzer. Aynı özellikleri gösterir.
JTable classı içerisinde bir çok metodu barındırır. Bunlardan bazılarını ve işlevlerini yazalım.
setAutoResizeMode : tablo boyutunu ayarlamamıza yardımcı olur.
setGridColor:Çizgilerin renklerini ayarlar
setSelectionMode:Listeden yapacağımız seçimin tipini belirlememizi sağlar.
setSelectionBackground:Listeden yapacağımız seçimde seçtiğimiz kolonun arka plan rengini belirler.
rowSelectionAllowed:Tablodan seçim yapıp yapamayacağımızı belirler. Default değeri true’dur.
JTable classı tabloyu düzenlemek için bir çok özellik içerir. Bunlar;
-JTable.AUTO_RESIZE_OFF -JTable.AUTO_RESIZE_LAST_COLUMN - JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS - JTable.AUTO_RESIZE_NEXT_COLUMN - JTable.AUTO_RESIZE_ALL_COLUMNS |
Bize default olarak gelen JTable.AUTO_RESIZE_SUNSEQUENT_COLUMNS dur.
Aşağıda ki kod basit bir JTable classınınn kullanıldığı bir örnektir.
package jtableclassforblog;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class olay extends JFrame {
String [] kolonlar={"Üniversite","Şehir"};
Object [][] sutunlar={{"Yıldız Teknik Üniversitesi","İstanbul"},{"Karadeniz Teknik Üniversitesi","Trabzon"},
{"İstanbul Teknik Üniversitesi","İstanbul"}
,{"Bilecik Üniversitesi","Bilecik"},{"Gazi Üniversitesi","Ankara"},{"Anadolu Üniversitesi","Eskişehir"},
{"İzzet Baysal Üniversitesi","Manisa"}};
JTable table=new JTable(sutunlar,kolonlar);
JScrollPane pane=new JScrollPane(table);
public olay()
{
table.setSelectionBackground(Color.ORANGE);
table.setGridColor(Color.BLUE);
add(pane);
}
Kaynak kodları ve çalıştırılabilir jar dosyasını buradan indirebilirsiniz. İyi çalışmalar...