Unterscheiden zwischen zwei JLists

algorismi

Aktives Mitglied
Hallo Leute,

habe mal ne frage bzgl. JList.
Wenn ich in einem JFrame zwei Objekte von JLists habe und das JFrame das Interface "ListSelectionListener" implementiert,
wie kann ich dann unterscheiden, in welcher JList von den beiden die selektion sich geändert hat? ???:L

danke schon mal im voraus für eure Mühe :)

Gruß
Algorismi
 

eRaaaa

Top Contributor
Naja, kommt auch immer ein wenig darauf an was du machen willst...mit e.getSource könntest du an die jeweilige Liste kommen !

Beispiel:
Java:
    @Override
    public void valueChanged(ListSelectionEvent e) {
	if (!e.getValueIsAdjusting()) {
	    JList list = (JList) e.getSource();
	    System.out.println(list.getModel().getElementAt(list.getSelectedIndex()));
	}
    }

oder auch mal einen Blick hier rein werfen!

Gruß
 

algorismi

Aktives Mitglied
Nun ja, das was ich eigentlich erreichen möchte ist, dass ich im JFrame meherere JList habe die angezeigt werden sollen.

Wenn eine Auswahl in der ersten JList selektiert wurde, dann soll die zweite JList sichtbar werden, wenn in der zweiten etwas selektiert wurde, dann soll eine dritte JList sichtbar werden. usw....

und hier weiß ich nicht genau, wie ich unterscheiden kann, dass jetzt etwas in der zweiten JList selektiert wurde und dann in der dritten.

bei der ersten ist das kein problem....aber alle nach der ersten, da habe ich ein problem :(
 

Michael...

Top Contributor
Am einfachst wäre es jeder Listen einen eigenen Listener zuzuweisen, dann muss man auch nicht aktualisieren, welche Liste das Event ausgelöst hat.
 

algorismi

Aktives Mitglied
ich habe es jetzt so gelöst,
dass ich jeder Liste eine namen mit setName zuweise, also
Java:
ebenenlList.setName("Element");

und dann beim SelectionListener einfach den Namen abfrage:

Java:
@Override
    public void valueChanged(ListSelectionEvent e) {
    if (!e.getValueIsAdjusting()) {
        JList list = (JList) e.getSource();
        
        if(list.getName().equalsIgnoreCase("Element")){
	     .......
        }
        else if (list.getName().equalsIgnoreCase(.......))){
        ...........
       }
    }
}

ich weißt nicht, ob es eine schöne Lösung ist, aber so geht es zumindest.
gibt es bessere varianten oder saubere lösungen??
 
G

Gast2

Gast
Geb doch jeder Liste einen eigenen anonymen Listener mit, dann weißt du doch immer in welcher Liste du bist, dann kannst die Sache sogar dynmanisch erzeugen in einer Schleife...
Hier mal was zum Testen vielleicht hilft es dir.
Java:
import java.awt.FlowLayout;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

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

public class TestFrame extends JFrame{

	
	public TestFrame(){
		super();
	    display();
	    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	    setSize(540, 380);
	    setVisible(true);
	}
	
	public void display() {

	   JPanel panel  = new JPanel(new FlowLayout());
	   List<String> list = Arrays.asList("halllo","hallo","hi","uio","jop");
	   List<JList> lists = new ArrayList<JList>();
	   for(int i = 0; i  < 10 ; i++){
		   JList jList = new JList(list.toArray());
		   jList.setVisible(false);
		   panel.add(jList);
		   lists.add(jList);
	   }
	   lists.get(0).setVisible(true);
	   while(!lists.isEmpty()){
		   JList jList = lists.get(0);
		   if(lists.size() > 2)
			   jList.addListSelectionListener(new MyListSelectionListener(lists.get(1)));
		   lists.remove(0);
	   }
	   add(panel);
	}
	
	public class MyListSelectionListener implements ListSelectionListener{

		private JList jList;
		
		public MyListSelectionListener(JList jList) {
			super();
			this.jList = jList;
		}
		@Override
		public void valueChanged(ListSelectionEvent e) {
			if (!e.getValueIsAdjusting() && jList != null) {
				jList.setVisible(true);
			 }
			
		}
		
	}
	

	
	public static void main(String[] args) {
		new TestFrame();
	}
	
}
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Unterscheiden zwischen Mautasten-Druck? AWT, Swing, JavaFX & SWT 3
D JavaFX Elemente aus VBox unterscheiden AWT, Swing, JavaFX & SWT 1
S Mouse Events in einer sortierten JTable unterscheiden AWT, Swing, JavaFX & SWT 18
propra Doppelklick von Einzelklick unterscheiden, aber richtig ... AWT, Swing, JavaFX & SWT 10
S Unterscheiden ob ein Graphics-Objekt von einer JComponent oder einem BufferedImage kommt..? AWT, Swing, JavaFX & SWT 4
G identische JMenuItem im actionListener unterscheiden AWT, Swing, JavaFX & SWT 4
B Doppelklicks von Singleklicks unterscheiden AWT, Swing, JavaFX & SWT 8
M JavaFX Abstand zwischen AnchorPane und Labels in dem HBox halten AWT, Swing, JavaFX & SWT 1
U 2dgraphics unterschied zwischen .scale und AffineTransform.getScaleInstance AWT, Swing, JavaFX & SWT 4
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
L Kommunikation zwischen Klassen / Konstruktoren bei Swing AWT, Swing, JavaFX & SWT 9
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
M Kommunikation zwischen zwei Stages AWT, Swing, JavaFX & SWT 0
T JavaFX - Datenübergabe zwischen Scenes AWT, Swing, JavaFX & SWT 8
S JavaFX Unterschiede zwischen Scene Builder 2.0 und der ausgeführten App AWT, Swing, JavaFX & SWT 17
Informatiknoob AWT Zahlenraten (eine Zahl zwischen 1 und 10) AWT, Swing, JavaFX & SWT 1
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
L Wörter zwischen zwei Grenzen einlesen. AWT, Swing, JavaFX & SWT 13
P Zwischen verschiedenen Panels wechseln AWT, Swing, JavaFX & SWT 3
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
O Focus zwischen Chat und Spiel wechselns AWT, Swing, JavaFX & SWT 3
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Arif AWT Unterschied zwischen RED und red AWT, Swing, JavaFX & SWT 4
D Swing Kommunikation zwischen zwei GUI's AWT, Swing, JavaFX & SWT 2
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
D Zwischen Null-Layouts wechseln AWT, Swing, JavaFX & SWT 2
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
S JavaFX (Best Practise) Daten zwischen Controllern austauschen AWT, Swing, JavaFX & SWT 1
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
P Drag & Drop zwischen Panels AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
B Vertikale Größenänderung zwischen zwei Widgets AWT, Swing, JavaFX & SWT 2
T Swing Kompatibilitätsproblem zwischen Swing und JavaFX AWT, Swing, JavaFX & SWT 4
S Verzögerung zwischen Cursorbewegung einbauen AWT, Swing, JavaFX & SWT 1
3 Swing Vertikaler Separator zwischen JMenu's AWT, Swing, JavaFX & SWT 2
D JGridLayout zwischen Zeilen bestimmter Abstand AWT, Swing, JavaFX & SWT 3
S Unterschied zwischen id und fx:id AWT, Swing, JavaFX & SWT 5
F Swing JAVA GUI Übergabe von Werten zwischen mehreren Fenstern/Klassen AWT, Swing, JavaFX & SWT 10
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
B Kommunikation zwischen zwei Fenstern und vorübergehende Speicherung der Eingaben AWT, Swing, JavaFX & SWT 4
B Linie zwischen 2 Elementen AWT, Swing, JavaFX & SWT 5
D animierte kameraansicht zwischen gezeichneten objekten AWT, Swing, JavaFX & SWT 4
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
F Swing Ladebildschirm zwischen zwei SWING Frames AWT, Swing, JavaFX & SWT 11
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
GUI-Programmer JWindow zwischen den Desktopbild und Dektopverknüpfungen AWT, Swing, JavaFX & SWT 16
Psypsy Swing SwingWorker unterschied zwischen setProgress und process AWT, Swing, JavaFX & SWT 2
propra Schnittpunkt zwischen Objekt und Kante finden AWT, Swing, JavaFX & SWT 24
H Swing Wechsel zwischen Frames AWT, Swing, JavaFX & SWT 6
S Swing Zwischenräume zwischen JPanels AWT, Swing, JavaFX & SWT 4
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
X zwischen 2 JPanels "elegant" wechseln AWT, Swing, JavaFX & SWT 3
B LayoutManager Positionierung zwischen zwei Layoutkomponenten AWT, Swing, JavaFX & SWT 2
N Swing DnD zwischen zwei JTrees AWT, Swing, JavaFX & SWT 2
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
D JTabel: Überschrift, Abstand zwischen Tabellen, Spalten-Farbe ändern AWT, Swing, JavaFX & SWT 2
G Swing MigLayout: Lücken zwischen Elementen entfernen AWT, Swing, JavaFX & SWT 2
F Variablen zwischen Frames AWT, Swing, JavaFX & SWT 5
V Swing JLabel zwischen 2 JPanel hin- und herbewegen. AWT, Swing, JavaFX & SWT 12
E Drag&Drop zwischen 2 Listen AWT, Swing, JavaFX & SWT 5
M SWT DND zwischen zwei TreViewern in beide Richtungen AWT, Swing, JavaFX & SWT 10
buntuswalus Swing Datentransfer zwischen JPanels AWT, Swing, JavaFX & SWT 18
P Swing Beziehungen zwischen 3 Klassen AWT, Swing, JavaFX & SWT 4
R Swing Kommunikation zwischen Panels AWT, Swing, JavaFX & SWT 2
S Schnittstelle zwischen Haupt und Nebenfenster AWT, Swing, JavaFX & SWT 17
F JCombobox zwischen setEditable true und false switchen AWT, Swing, JavaFX & SWT 2
I Swing JPanel Tab zwischen GUI Elementen AWT, Swing, JavaFX & SWT 6
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
data89 Verbindungslinien zwischen Formen auf einer "Zeichenfläche" AWT, Swing, JavaFX & SWT 2
DeeDee0815 SWT Text Widget: Zwischen Single und Password umschalten AWT, Swing, JavaFX & SWT 3
J Unterschied zwischen SwingWorker und Threads AWT, Swing, JavaFX & SWT 4
G Variblenwert zwischen zwei Klassen übergeben AWT, Swing, JavaFX & SWT 3
G Gap zwischen JButton-Rand und JButton-Icon verändern AWT, Swing, JavaFX & SWT 2
T Kommunikation zwischen Zwei GUI-Klassen AWT, Swing, JavaFX & SWT 2
T Kommunikation zwischen zwei jFrames AWT, Swing, JavaFX & SWT 4
T GridLayout, zu wenig Platz zwischen Widgets AWT, Swing, JavaFX & SWT 3
S Abstand zwischen Labeln auf 0 setzen AWT, Swing, JavaFX & SWT 6
J Unterschied zwischen nicht-statischen und statischen Klassen AWT, Swing, JavaFX & SWT 5
G Datenaustausch zwischen zwei JFrames AWT, Swing, JavaFX & SWT 3
O Zwischen mehreren Bildern wechseln AWT, Swing, JavaFX & SWT 6
T JTextField, der nur Werte zwischen 100 und 1000 zulässt AWT, Swing, JavaFX & SWT 28
M Linie zwischen JComponents AWT, Swing, JavaFX & SWT 5
G Abstand zwischen den Buttons in einer Toolbar AWT, Swing, JavaFX & SWT 3
G Drag&Drop zwischen JTables AWT, Swing, JavaFX & SWT 2
B Abstand zwischen einzelnen Elementen einstellen AWT, Swing, JavaFX & SWT 2
I Drag and Drop zwischen zwei JTables AWT, Swing, JavaFX & SWT 5
N JTable Abstand zwischen einzelnen Spalten AWT, Swing, JavaFX & SWT 6
K JFreeChart: Platz zwischen Balken AWT, Swing, JavaFX & SWT 3
G Zwischen Panels in einem JFrame wechseln AWT, Swing, JavaFX & SWT 4
M Unterschied zwischen paintComponent() und paint()? AWT, Swing, JavaFX & SWT 4
R Navigieren zwischen mehreren Fenstern AWT, Swing, JavaFX & SWT 7
F Wie gebe ich Parameter zwischen Actions weiter? AWT, Swing, JavaFX & SWT 2
K abstände zwischen Panels? AWT, Swing, JavaFX & SWT 3
M Freiraum zwischen Knoten im JTree AWT, Swing, JavaFX & SWT 14
M Parameterübergabe zwischen Frames AWT, Swing, JavaFX & SWT 2
P in JFrame zwischen verschiedenen JPanels wechseln AWT, Swing, JavaFX & SWT 7
M Breite veraendern zwischen 2 JPanels AWT, Swing, JavaFX & SWT 2
J Separator zwischen den einzelnen Symbolen in der Toolbar AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben