Referenz auf JList Eintrag

Hallo!

ICh habe folgendes Problem:
Ich verwende eine JList um Daten anzuzeigen. Nun möchte
ich gern einen JList Item mit einer Referenz verbinden. Sodass ich
die Möglichkeit habe bei Klick auf das Item via getVal an die Refernz der jeweiligen Klasse zu kommen.

Kann mir da einer helfen ?

Dafür registiert man einen ListSelectionListener auf einer JList. Die Methoden des Interfaces werden somit aufgerufen sobald jemand einen eintrag selectiert.

Jahresentspurt,
Jens

Das Problem ist so: Mit dem ListSelectionListener kann ich ja feststellen, dass etwas ausgewählt wurde. Nun kann ich ja auch herausfinden welcher Eintrag es war. Gut. Aber ich möchte in dem Eintrag quasi gleich eine Referenz auf
Objekt XY haben.

jeder Eintrag ist nur eine Referenz was anderes kann es nicht sein :wink:

Adde einfach die Referenz der jeweiligen Klasse der JList. Du musst in deiner Klasse die toString() Methode überschreiben, damit du die Anzeige anpassen kannst.

Ich glaube ihr versteht ihn alle falsch. Ich beschreibs mal so: Unter Qt hat man ListViewItems, die man in eine Liste einfügen kann. Wenn man nun von dem ListViewItem ableitet und in der Unterklasse ein Zeiger auf ein Objekt ablegt, hat man die Möglichkeit, beim Klick auf ein Item direkt einen Verweis auf das dazugehörende Objekt zu bekommen, ohne sich das Objekt nochmal irgendwo heraussuchen zu müssen.

:eek: … schwierig zu beschreiben …

Null sein Vorschlag hört sich ja schon gut an. Ich weiß es jetzt auch nicht, kann man alle Objekte in die Liste reinpacken? Dann wäre das ja schon die Antwort.

ja kann man. Falls die Bezeichnung der Objekte doppelt vorkommen kann, würde ich noch empfehlen die hashCode und equals Methode zu überschreiben, dass man zwischen den Objekten unterscheiden kann.

versteh ich nicht wirklich… abgesehen davon dass es schonmal keine zeiger in java so gibt.

habe ich es so richtig verstanden.

Ihr habt eine Klasse X, deren Instanzen sollen in einer JList angezeigt werden. Klickt man nun in die Liste erhaelt man ueber den entsprechenden Listener die jeweilige Instanz der Klasse X zurueck. Nun kann man damit machen was man will (d.h. haelt diese Instanz der Klasse X noch andere Referenzen auf andere Klassen so muss man die jeweiligen methoden in der Klasse X einfach bereitstellen)…

oder wie ?!

und ja du kannst jedes Objekt in eine Jlist packen. Die JList arbeitet mit Vectoren, weswegen die hashCode nicht implementiert werden muss. equals ist pflicht. Die toString methode gibt an was dann in der JList angezeigt werden soll

Das würd ich nicht umbedingt machen sondern eher einen eigenen Renderer schreiben das ist sauberer.

Aber nicht ganz so aufwändig :stuck_out_tongue_winking_eye:

es ist auch nicht aufwaendig allen code in eine klasse zu schreiben und man machts nicht…
aufwand ist keine entschuldigung fuer schlechten code :wink:

Jungs,

Erstens: QT != Java es hilft auch nicht zu beschreiben wie es in Sprache XYZ geht. Wir sind hier in Java. Wenn jemand darauf besteht ein ListItem zu haben soll er es sich meinetwegen bauen, aber es hilft ja nix.

Klickt der User bekommst du einen Event, und dort musst du reagieren, der Event ist zu freundlich und liefert dir sogar die Referenz direkt mit. Man muss lediglich eine Methode im Event Object aufrufen um an diese zu kommen.

Zu allem habe ich ma wieder den eindruck daqs eine vielzahl an leuten einfach zu faul ist 5 Min. in die API Doc zu sehen um es dann auch direkt anwenden zu können. Stattdessen dreht sich der Thread um loses halbwissen.

Um weitere Fragen vorweg zu nehmen: Hier der Link auf besagten Listener :

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/ListSelectionListener.html

mfg,
Mac

[quote=Mac Systems;1470]Jungs,

Zu allem habe ich ma wieder den eindruck daqs eine vielzahl an leuten einfach zu faul ist 5 Min. in die API Doc zu sehen um es dann auch direkt anwenden zu können. Stattdessen dreht sich der Thread um loses halbwissen.

Um weitere Fragen vorweg zu nehmen: Hier der Link auf besagten Listener :

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/ListSelectionListener.html

mfg,
Mac[/quote]

Das ist aber ein furchtbar netter Hinweis von Dir!
Um genau zu sein, kann man Foren in dieser Form abschaffen. Es steht ja alles in der Doc. Aber es ist noch besser! Java liefert SourceCode mit. Genial da steht ja wirklich alles drin!

[QUOTE=Unregistriert]Das ist aber ein furchtbar netter Hinweis von Dir!
Um genau zu sein, kann man Foren in dieser Form abschaffen. Es steht ja alles in der Doc. Aber es ist noch besser! Java liefert SourceCode mit. Genial da steht ja wirklich alles drin![/QUOTE]
sagen wir 80% stehen in der doc… generelles problem ist dass 90% der leute sie nicht lesen :wink:

und ja - java bietet den src mit, warum du den brauchst ist aber fraglich… Java bietet hinreichende Implementationen bzw schnittstellen an - die gilt es zu nutzen, wie diese implementiert sind ist 99% der faelle egal.

Es gibt im Grunde hier 2. moeglichkeiten

  1. ihr wisst nicht wirklich was ihr mit Java machen koennt bzw. versteht hier etwas nicht
  2. wir verstehen eure Fragen nicht wirklich

@Unreg: Sicher gibt es eine vielzahl von Leuten die deiner meinung sein werden.
Dennoch, wurde dem Thread Ersteller genug hilfestellung geboten. Pudern und Windeln könnt ihr euch woanders lassen ::banana

In diesem Sinne,
Merry Xmas,
Mac

Ich denke wir sollte die Diskussion an dieser Stelle abbrechen, da das ursprüngliche Thema erledigt ist.

Vielen Dank an alle…