Java JList.locationToIndex gibt immer wieder Index null heraus.

DefconDev

Commander
Registriert
Jan. 2008
Beiträge
2.544
Code:
              @Override
		public void mousePressed(MouseEvent e) {
			
			if(e.getButton() == MouseEvent.BUTTON3)
			{
				int index = liste1.locationToIndex(e.getPoint());
				
				System.out.println(index);  
				
				
			}

Das ist eine Methode der abstrakten Klasse MouseListener, die ich gerne überschreiben möchte. Das ganze befindet sich als innere Klasse i meiner Klasse die von JFrame erbt.

Funktionieren tut es aber nur teilweise. Er führt zwar alles aus wie gewollt, nur aber immer für den nullten Index meiner JList. Dadurch ensteht immer das selbe JDialog mit dem selben Bild. Generell möchte ich aber durch anklicken der Inhalte einer Jliste verschiedene Fenster öffnen die mir verschiedene Bilder jeweils anzeigen.




EDIT: Ohne JDialog
 
Zuletzt bearbeitet:
Die Index-Information wird doch überhaupt nicht verwendet. Du lädst immer das gleiche Bild.
 
Doch bei System.out.println

und egal wo ich klicke , wird immer der index null ausgegeben. Sobald ich das behoben habe, kann ich auch den rest in eine schleife setzen und die Bilder wechseln.
 
Dann war Deine Beschreibung irreführend!

Hast Du schon mal versucht, mouseClicked() zu überschreiben? Vielleicht ist mousePressed() zu früh, um den Index abzufragen.

Ein lauffähiges Beispiel wäre hilfreich...
 
soares schrieb:
Dann war Deine Beschreibung irreführend!

Hast Du schon mal versucht, mouseClicked() zu überschreiben? Vielleicht ist mousePressed() zu früh, um den Index abzufragen.

Ein lauffähiges Beispiel wäre hilfreich...

MouseClicked funktioniert genau so wenig, leider.

Was meinst du mit Lauffähig? Mein Beispiel läuft doch unabhängig vom JDialog.
 
soares meint, dass du hier ein lauffähiges Minimalbeispiel hochlädst, mit sich sich das Problem reproduzieren lässt.
 
Zurück
Oben