Ik zie een aantal enge dingen:
1: implementeer bijna nooit een interface op een class. Of maak gebruik van een internal class waarvan het alleen de taak is om die interface te implementeren. Dit werkt overzichtelijk (tenslotte heb je alle troep bij elkaar) en verder kan er namelijk bij jou nog iets fout gaan. Stel dat er een methode is van de parent die jij nu loopt te overriden.. dan werkt het niet zoals het zou moeten. Stel nu dat deze methode er nog niet is.. maar hij komt er nog wel een keer bij.. dan gaat die methode dus nooit aangeroepen worden. Of maak gebruik van een extern object.
Verder kan je ook beter van de DefaultListCellRenderer extenden omdat de meeste grafische romslomp al is gedaan. Alleen de tekst nog even aanpakken... en dan ben je klaar.
2: ik zie pPers.adres pPers.huisnummer staan. Tenzij Sun toch stiekum property syntax heeft toegevoegd (wat ze dus niet hebben gedaan) maak jij hier gebruik van publieke velden (huisnummer en adres). Dit is in de oo -wereld not done. Check het forum maar eens waarom publieke velden zo slecht zijn.
[edit]
Ik heb ooit eens wat toString dingen in elkaar gezet. Je kan dan een JCombobox, JList en nog een paar componenten gewoon een toString functie als strategy aan meegeven. Dan hoef je dus niet meer te pielen met het zelf te doen, maar alleen nog zeggen:
code:
1
2
3
4
5
6
| class PersoonToString implements ToString<Persoon>{
String toString(Persoon p){
return p.getVoornaam()+"-"+p.getAchternaam();
}
} |
[
Voor 21% gewijzigd door
Alarmnummer op 16-02-2004 16:37
]