bERt0r hat gesagt.:
Also einem Anfänger zu raten sich für eine Liste, bei der nur der Name angezeigt werden soll, einen eigenen Renderer zu schreiben halte ich für einen schlechten Tipp.
Ja nu, soo schwer ist das ja nun auch wieder nicht. Interface Implementieren ist doch kein Fortgeschrittenenkrams?!?
bERt0r hat gesagt.:
Und wieso ist das ein Notnagel, nur für Logging/Debug Zwecke?
Das habe ich nicht gesagt. Für die
Anzeige in einer GUI ist das der Notnagel, den die JList nimmt, wenn sonst nichts geht. Für Logging/Debugging ist das der zu gehende Weg. Bin jetzt gerade zu faul, einen Link rauszusuchen, wo der Sinn von toString() erklärt wird. Wenns des nicht glaubst, such selbst oder schau in Deinem Lieblings-Javabuch nach.
bERt0r hat gesagt.:
Eine JList hat Standardmäßig nunmal die Fähigkeit, Strings anzuzeigen, und wenn du ein anderes Objekt in die JList packst, versucht sie einen String daraus zu machen.
Genau und dieser String wird besser mittels eines ListCellRenderers erzeugt und nicht durch Aufruf von toString(). Abgesehen vom Sinn von toString() hält man die Daten im Model auch separat von ihrer Repräsentation in einer GUI. Dieses Prinzip verletzt man, wenn man in der Modelklasse eine Methode schreibt, die die Daten für die Anzeige aufbereitet.
bERt0r hat gesagt.:
Warum glaubst du gibts JList jetzt mit Generics?
Ich kann jetzt nicht in den Kopf der Java-Implementierer schauen, aber ich würde annehmen: Typsichere Models, der return-Value der getSelectedXXX-Methoden muss nicht mehr gecastet werden und und