5 Şubat 2012 Pazar

İLERİ SWİNG BİLEŞENLERİ-3

JList

JList bileşeni pek sık kullanılan bir bileşen değildir. Ama bazen de kullanmak hem görüntü hem de kullanışlılık bakımından işe yarar bir bileşendir.  Listede ki verilerin dizilişlerini istediğimiz şekilde ayarlayabiliriz. Nitekim;
JList.VERTICAL : Verile dikey dizilirler.
JList.HORIZONTAL_WRAP:Pencerenin uzunluğuna göre yatay olarak dizilirler. En sağa gelindiği zaman bir alt satıra geçilir.
JList.VERTICAL_WRAP: İstenilen sütun sayısı kadar dikey olarak liste elemanları satır-sütun şeklinde dizilirler.
Liste elemanlarını aşağıda ki metod ile oluşturabiliriz;
setListData(listData: Object[]): void
Listeden eleman seçmenin 3 tane yöntemi vardır. Bunlar; SINGLE_SELECTION,SINGLE_INTERVAL_SELECTION,MULTIPLE_INTERVAL_SELECTION,MULTIPLE_INTERVAL_SELECTION değerleridir. Bunlar int tipinde değerlerdir.
SINGLE_SELECTION listeden sadece tek eleman seçmemize izin verir. SINGLE_INTERVAL_SELECTION çoklu seçime müsade eder fakat seçilecek bu elemanların bitişik eleman olması icab eder. MULTIPLE_INTERVAL_SELECTION istediğimiz gibi çoklu seçim yapmamıza müsade eder. Mevzu ile alakalı basit bir programın kodları aşağıda ki gibidir.



package jlistdemoblog;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;

public class olay extends JFrame {
   
    JList liste=new JList();
    JButton kopyala=new JButton("COPY>>");
    JList liste2=new JList();
    JLabel label=new JLabel(">>>");
    Object [] sehirler={"İstanbul","Malatya","Erzurum","Trabzon","Tokat","Elazığ","Sivas"};
   
    public olay()
    {
        super("Liste uygulaması");
        liste.setListData(sehirler);
        liste.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        setLayout(new BorderLayout());
        final JPanel p=new JPanel();
        add(p,BorderLayout.CENTER);
        p.setLayout(new FlowLayout());
        p.add(liste);
        p.add(label);
       
        add(kopyala,BorderLayout.SOUTH);
        kopyala.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                p.add(liste2);
                liste2.setListData(liste.getSelectedValues());
                liste2.setForeground(Color.BLUE);
                liste2.setBackground(Color.ORANGE);
            }
        });
    }
}
Programın çıktısı aşağıdaki gibidir.


Kod kaynak dosyalarını ve programın çalıştırılabilir jar dosyasını  buradan indirebilirsiniz.İyi çalışmalar...

Hiç yorum yok:

Yorum Gönder