I alle opgaverne herunder er det underforstået, at du afprøver dine komponenter ved at lave små programmer, der bruger dem.
Her er
eksemplerne
(også som
zip-fil)
fra kapitlet om komponenter.
Ret i bønnen GentagTekst, og indfør
egenskaben antal, der bestemmer, hvor mange gange teksten
skal tegnes.
Husk at både både definere
både get- og set-metoden og oversætte klassen på ny, ellers kan det
være at egenskaben ikke dukker op i dit udviklingsværktøj.
Ret bønnen, så den fortæller sin foretrukne størrelse til containeren (se afsnit 4.2.3, Størrelsen af en grafisk komponent).
Kig på bønnen Rystetekst i afsnit 4.4.1. Hvad hvis man skulle kunne styre bønnens opdateringstid, der bestemmer, hvor hurtigt teksten ryster (tidsrummet mellem to gentegninger)? Indfør egenskaben opdateringstid i bønnen, og brug den.
Blandt AWT-komponenterne mangler der en
komponent, der kan vise et billede.
Lav
en, f.eks. med udgangspunkt i GentagTekst.java. Definér
egenskaben
filnavn en streng, der beskriver, hvor
billedet er
Billeder kan hentes med f.eks.:
Image
i = Toolkit.getDefaultToolkit().getImage("hej.jpg");
g.drawImage(i, 10, 10, this);
Her
skal filen hej.jpg ligge samme sted, som programmet udføres
(ellers prøv at kopiere billedet til nogle forskellige steder
i filstrukturen, indtil programmet 'får fat' i det).
Lav en grafisk komponent, der viser en
animation, dvs. et antal billeder vist i kort rækkefølge
efter hinanden. Kig på Rulletekst.java
for nogle idéer.
Har du ikke lavet den forrige opgave, så
tag udgangspunkt i Swing-komponenten JLabel
(der ud over en tekst også kan vise et billede).
Lav en (ikke-grafisk) webserver-bønne.
Tag udgangspunkt klasserne FlertraadetHjemmesidevaert
og Anmodning fra http://javabog.dk/OOP/eksempler/kapitel_17/
(beskrevet i http://javabog.dk/OOP/kapitel16.html
og det efterfølgende kapitel).
Den skal have
egenskaberne:
port angiver,
hvilken port serveren skal lytte på
(f.eks. 8080)
aktiv om
den er aktiv, dvs. om den venter på anmodninger
(true/false)
Lad den først bare svare med den samme tekst
uafhængig af spørgsmålet.
Opret et
testprogram, der anvender bønnen og sætter dens
egenskaber.
Lad den
understøtte abonnement på Action-hændelser (se
afsnit 4.3.5), på en sådan måde, at der sendes en
hændelse, hver gang der kommer en anmodning.
Ændr i
testprogrammet så det abonnerer på hændelsen og
skriver ud, når den indtræffer.
Lad bønnen
kunne læse filer fra filsystemet og sende til brugeren.
Definér egenskaben
rod sti
til rodkataloget, hvor HTML-siderne, der kan hentes, er (f.eks.
C:\HTML).
På (blandt andet) http://sourceforge.net/
kan man finde et væld af Open Source-projekter.
Open Source
vil sige at programudviklingen er åben, sådan at alle kan
se kildeteksten og selv bidrage til at forbedre programmet.
På
Sourceforge er der er fri adgang til titusindvis
af projekter skrevet i Java.
Deres Java-side
byder på generelle nyheder om om Java og Open Source.
Hent (mindst) to Javaprogrammer fra http://sourceforge.net/
og kør dem. Det kan evt. være nogle der har relation til
dit projekt.