© 1999-2011,
Flemming Koch Jensen
Alle rettigheder forbeholdt | |
Tabeller | Vejledende løsninger |
1 | Først er der framen, der har Viewet: Instansen af JTable: | |
| ||
Vi placerer som (næsten) altid tabellen i en JScrollPane, så vi kan få kolonne-navne. | ||
Vi sætter vores renderer for hver af kolonnerne, og laver lidt ekstra plads til stationsnavnet (Bemærk at de andre kolonners bredde formindskes for at skabe den fornødne plads til den bredere kolonne).
| ||
Vores renderer til centrering af tekst: | ||
| ||
Dernæst er der Modellen, der er kernen i opgaven: | ||
| ||
Endelig er der blot at lave en instans af framen: | ||
| ||
Figur 1: Frame med køreplan |
| |
Man bemærker, at renderen ikke virker på "Tog"-kolonnen mellem 77 og 116. Det skyldes, at vi kun kan få fat i kolonner "by name". Da der er to "tog"-kolonner vil vi altid få fat i den første og aldrig den anden. Vores program sætter derfor renderen to gange for den første kolonne og aldrig for den anden. Jeg er ikke bekendt med hvordan man løser dette problem!
| ||
2 | Først er der framen: | |
| ||
Her anvender vi en speciel renderer til nat-temperaturerne, mens dag-temperaturerne ordnes med en instans af DefaultTableCellRenderer, der indstilles mht. allignment.
| ||
Renderen til nat-temperaturerne er BackGroundColorCellRenderer: | ||
| ||
Modellen er givet ved klassen VejrTabelModel: | ||
| ||
Figur 2: Frame med temperaturer |
| |
3 | Vi har igen først framen: | |
| ||
for-løkken gennemløber de relevante kolonner og sætter editoren.
| ||
Modellen er givet ved klassen ValutaTabelModel: | ||
| ||
Figur 3: Frame med valutaer |
|