Bu yazıda Java Swing elemanlarından biri olan JList nesnesine eleman eklemeyi ve içindeki elemanları silmeyi gösteren örnekleri göreceğiz.
JList Kurucu metodu kullanarak JList içine bir listeyi gönderebilirsiniz.
1 2 3 4 |
String[] dizi = {"BİR", "İKİ", "ÜÇ"}; JList jList = new JList(dizi); |
Java JList Eleman Ekleme
Ancak, JList’in başlatıldıktan sonra öğeleri eklemek veya silmek için hiçbir yöntemi yoktur. Bunun yerine, bunu yapmanız gerekiyorsa, bir JList ile ListModel sınıfını kullanmalısınız. ListModel’i öğeleri tutan nesne ve JList’i görüntüleyici olarak düşünün.
Adım 1: Bir DefaultListModel örneği oluşturun:
1 2 3 |
DefaultListModel listModel; |
Adım 2: Oluşturun.
1 2 3 |
listModel = new DefaultListModel(); |
Adım 3: İster şimdi isterseniz de sonra listeye öğeler ekleyin.
1 2 3 4 5 6 |
listModel.addElement("öğe 1"); listModel.addElement("öğe 2"); listModel.addElement("öğe 3"); listModel.addElement("öğe 4"); |
Adım 4: Bir JList’in yapıcısında DefaultListModel’i kullanın.
1 2 3 |
JList list = new JList(listModel); |
Java JList Eleman Silme
Yukarıdaki eleman ekleme adımlarını uyguladıktan sonra aşağıdaki adımları takip ederek elemanları kaldırabilirsiniz.
Adım 5: index numarasına göre elemanı silme
1 2 3 4 |
// index numarasına göre silme listModel.remove(2); |
Adım 6: ListModeldeki tüm değerleri temizleme
1 2 3 4 |
// index numarasına göre silme listModel.clear(); |
JList Ekleme ve Silme Örnekleri
Örnek 1: Kurucu metot ile değerler ekleme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import javax.swing.*; import java.awt.event.*; public class Main { public static void main(String[] args) { JFrame f = new JFrame(); String[] dizi = {"BİR", "İKİ", "ÜÇ"}; JList jList = new JList(dizi); jList.setBounds(80, 50, 250, 100); f.add(jList); f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
Örnek 2: ListModel kullanarak öğeler ekleme
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 |
import javax.swing.*; import java.awt.event.*; public class Main { public static void main(String[] args) { JFrame f = new JFrame(); DefaultListModel listModel; listModel = new DefaultListModel(); listModel.addElement("öğe 1"); listModel.addElement("öğe 2"); listModel.addElement("öğe 3"); listModel.addElement("öğe 4"); JList jList = new JList(listModel); jList.setBounds(80, 50, 250, 100); f.add(jList); f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
Örnek 3: JList üzerinde tıklanan değeri kaldırma
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 |
import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; public class Main { public static void main(String[] args) { JFrame f = new JFrame(); DefaultListModel listModel; listModel = new DefaultListModel(); listModel.addElement("öğe 1"); listModel.addElement("öğe 2"); listModel.addElement("öğe 3"); listModel.addElement("öğe 4"); JList jList = new JList(listModel); //Tıkladığımız değeri kaldırma jList.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent evt) { //String deger = (String) JList.getSelectedValue(); //seçili değer int index = (int) jList.getSelectedIndex(); //seçili index //listModel örneğini alma ve kaldırma DefaultListModel model = (DefaultListModel) jList.getModel(); if (index != -1) { model.remove(index); } } }); jList.setBounds(80, 50, 250, 100); f.add(jList); f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
1 Yorum