🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #5255

Re: Java JList & toString() method vraagje

#5255
From: DyXin
Date: Fri, 16 May 2003 11:46
52 lines
3786 bytes
> Ik zit met volgend "probleem": Ik heb een applicatie (peer-to-peer chat
> programa) geschreven, waarin onder andere een JList in zit verwerkt met
> hierin de "contacts". Deze contacts zijn Objecten van het type "public
class
> Phoenix extends UnicastRemoteObject implements IPhoenix", en bevatten elke
> oa een String name (de naam van de contact-persoon).
> IPhoenix is een klasse van het type "public interface IPhoenix extends
> Remote", die enkel een aantal method definitions bevat (die elk een "thows
> RemoteException" hebben, omwille van het feit dat de classe "extends
Remote"
> is).
>
> Nu dacht ik zo: elke contact heeft een Vector met hierin zijn
> contactpersonen (IPhoenix-objecten, dus NIET de "echte" (subclass) Phoenix
> objecten). Als ik nu de toString() method over-write, dan kan ik, dacht
ik,
> deze vector rechstreeks geven aan het JList-object, die dan via de
> toString() method de naam van de contactpersonen in de lijst laat zien!
> Allemaal goed en wel, maar als ik de toString() method in Phoenix
> overschrijf, krijg ik niets te zien in de lijst! Ik dacht dat dit
misschien
> kon liggen aan het feit dat de Vector IPhoenix objecten bevat, en niet
> expliciet Phoenix-objecten, maar probleem is dat ik in IPhoenix de
toString
> method niet kan over-write, omdat die dan "thows RemotException" in z'n
> definition moet hebben staan, en dan krijg je een compile error!
>
> Weet er iemand een oplossing om toch met ��n Vector te werken in plaats
van
> 2 Vectors (1 met de echte objecten, 1 met de namen (Strings))?

Ik heb het opgelost gekregen als volgt...
Om genericiteit te behouden blijft de vector een vector van IPhoenix
objecten, zodanig dat eender welke klasse die IPhoenix implementeert "erin
past". Probleem is dan dat de standaard toString() method niet kan
overschreven worden, en je dus in je lijst gewoon de "geheugeninhoud" ziet
van het object ipv een "mooie" naam. Na wat zoeken heb ik echter gevonden
dat je de default ListCellRenderer methode die JList aanroept om het object
uit de vector op het scherm af te beelden, kunt overschrijven! In
MyellRenderer controleer ik dan eerst of het object van type (IPhoenix) is,
en wanneer dit het geval is roep ik de methode getName() aan die daarin
gedefinieerd staat, in plaats van default de toString method(). Wanneer het
object noet van type IPhoenix is wordt de standaard toString() method
opgeroepen!...

Nu heb ik toch met ��n vector van (Remote) objecten m'n contactlist kunnen
opbouwen!

thnx!

mvg,
DyXin
Technical Details
Message-ID: <kc4xa.4554$1u5.337@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!newsfeed.news2me.com!cyclone1.gnilink.net!wn14feed!wn13feed!wn12feed!worldnet.att.net!204.71.34.3!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <MoRwa.3803$1u5.425@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: 107324,eff969ebc9b5fdb5
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,eff969ebc9b5fdb5
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-05-16 04:48:01 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!newsfeed.news2me.com!cyclone1.gnilink.net!wn14feed!wn13feed!wn12feed!worldnet.att.net!204.71.34.3!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: "DyXin" <DyXin@p@ndor@.be>
Newsgroups: be.comp.programming,nl.comp.programmeren
References: <MoRwa.3803$1u5.425@afrodite.telenet-ops.be>
Subject: Re: Java JList & toString() method vraagje
Lines: 54
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <kc4xa.4554$1u5.337@afrodite.telenet-ops.be>
Date: Fri, 16 May 2003 11:46:24 GMT
NNTP-Posting-Host: 213.119.145.135
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1053085584 213.119.145.135 (Fri, 16 May 2003 13:46:24 MET DST)
NNTP-Posting-Date: Fri, 16 May 2003 13:46:24 MET DST
Organization: Telenet Internet