JList - Listener-Ereignis wird zweimal ausgeführt

Ein_Freund

Erfahrenes Mitglied
Hallo,

ich habe eine JList und möchte auf die Auswahl eines Elements reagieren. Das klappt auch alles soweit, nur warum wird das Ereignis zweimal ausgeführt? Oder wird es nur einmal ausgeführt und das Element zweifach zurückgegeben? Was muss ich tun, um das gewählte Element in einfacher Form als Rückgabewert zu erhalten?

Code:
...

jlstDel.addListSelectionListener(new ListSelectionListener()    {
  public void valueChanged (ListSelectionEvent e)   {
	System.out.println(((JList) e.getSource()).getSelectedValue());
  }
});

...

MfG
 
Hallo!

Schau mal hier:
Code:
/**
 * 
 */
package de.tutorials.training;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

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

	JList list;

	public JListExample() {
		super("JListExample");
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		list = new JList(new Object[] { "A", "B", "C" });

		add(list);

		list.addListSelectionListener(new ListSelectionListener() {
			public void valueChanged(ListSelectionEvent e) {
				if (!e.getValueIsAdjusting()) {
					System.out.println(list.getSelectedValue());
				}
			}
		});

		pack();
		setVisible(true);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new JListExample();
	}
}

Gruß Tom
 
Dank Dir, genau an dem getValueIsAdjusting hat's gelegen. Offensichtlich lauschen dort mehrere Listener... das muss ich mir erstmal genauer erschliessen. Ich frage mich nur, wie man da im Guten drauf kommen soll...

MfG
 
Zurück