31 Ocak 2012 Salı

İLERİ JAVA SWİNG BİLEŞENLERİ

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);
    }
}


Bu kodların derlenip çalıştırılması halinde çıktı şu şekilde olur;






Kaynak kodları ve çalıştırılabilir jar dosyasını buradan indirebilirsiniz. İyi çalışmalar...

2 yorum:

  1. Mesut şans eseri blog sayfana geldim.Benim için de faydalı oldu. Güzel olmuş çalışmalarının devam etmesi dileğiyle.

    YanıtlaSil