JList: Elemente entfernen

DarkJedi

Grünschnabel
Hallo,

wie kann ich in einer JList selektierte Elemente entfernen? Ich habe kein Methode gefunden, die das erledigt.

ciao!

DarkJedi
 
Original geschrieben von DarkJedi
Hallo,

wie kann ich in einer JList selektierte Elemente entfernen? Ich habe kein Methode gefunden, die das erledigt.

ciao!

DarkJedi

Vermutlich wirst Du sie aus dem ListModel entfernen müssen.
 
Hallo!

Siehe:

Code:
import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;

/*
 * Created on 10.06.2004
 */

/**
 * @author Administrator
 */
public class JListExample extends JFrame {

	private JList list;
	private JButton button;
	private DefaultListModel model;

	public JListExample() {
		super("JListExample");
		setSize(50, 50);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		//ListModel füllen
		model = new DefaultListModel() {
			{
				addElement("Item0");
				addElement("Item1");
				addElement("Item2");
				addElement("Item3");
				addElement("Item4");
				addElement("Item5");
				addElement("Item6");
				addElement("Item7");
				addElement("Item8");
				addElement("Item9");
			}
		};
		
		list = new JList(model);

		button = new JButton("remove selected Item");
		button.addMouseListener(new MouseAdapter() {
			public void mousePressed(MouseEvent evt) {
				int idx = list.getSelectedIndex();
				if (-1 == idx) {
					//No item selected
					return;
				}
				Object o = model.remove(idx);
				System.out.println(o + " removed at " + idx);
			}
		});
		getContentPane().setLayout(new BorderLayout());
		getContentPane().add(list, BorderLayout.NORTH);
		getContentPane().add(button, BorderLayout.SOUTH);

		pack();
		setVisible(true);
	}

	public static void main(String[] args) {
		new JListExample();
	}
}

Gruß Tom
 
Zurück