Singleton Pattern

Vejledning løsninger
Opgaver
1 [Forudsætning: Grundlæggende GUI-programmering]
I denne opgave skal vi lave det debug-vindue, der er anvendt som indledende eksempel i kapitlet om Singleton Pattern.
Lav en frame, der indeholder en JTextArea i en JScrollPane. Framen skal være en Singleton og have en metode message, som tager en tekststreng som parameter. Tekststrengen skal udskrives i vinduet med efterfølgende linieskift.
Lav en testanvendelse, der registrerer 100 debug-beskeder efter eget valg.
2 [Forudsætning: Sekventielle tekstfiler]
Denne opgave er egentlig en variation over den foregående med debug-vinduet. Her vil vi ikke sende tekstbeskeder til et vindue, men til en tekstfile.
Tekstfilen skal hedde: log.txt
Filen skal først åbnes første gang en klient beder om at få Singleton'en.
Singleton'en skal have to metoder: register og close.
register tager en tekststreng som parameter, der udskrives i filen, med linieskift. Alle linier der skrives til filen skal starten med en angivelse af tidspunktet, så man senere kan se hvornår den tilhørende hændelse indtraf.
close skal lukke filen og forhindre fremtidig skrivning til den. Enhver klient kan kalde close; hvilket får betydning for samlige klienters anvendelse af Singleton'en.
Både register og close skal returnere boolsk om den pågældende operation lykkedes.
Hvis filen er lukket (med kald af close) skal instance-metoden returnere null.
Lav en testanvendelse, der logger ti hændelser.