CSC

 

Laboration 1 - En liten knappkomponent

Incheckning

Det första du ska göra är kursregistrering i res-systemet. Logga in på CSC:s datorer och ge kommandot
res checkin prutt09. Gör även course join prutt09. Det kommer bl.a. att förbättra din miljö lite grann och göra att kursledaren kan ge dig inloggningsmeddelanden som rör kursen. Båda gruppmedlemmarna måste ge kommandona från det egna kontot.

Gemensam katalog för kursen - frivilligt

Det kan vara praktiskt att ha katalog som båda gruppmedlemmarna kan komma åt. Det finns ett kommando för detta: course labdir prutt09 skapar katalogen prutt09 under hemkatalogen för den som ger kommandot. Labbkompisen får sedan logga in och skriva kommandot course labdir prutt09 kajsakavat där kajsakavat byts mot den första gruppmedlemmens inloggningsnamn.

De som förstår sig på filsystemet och kan skapa underkataloger och symboliska länkar och kan sätta åtkomsträttigheter på sina kataloger och filer kan själva åstadkomma en filkatalog tillgänglig inom gruppen utan specialkommandot course labdir. I CSC:s Unix-häfte kan man läsa det som behövs om symboliska länkar och annat nyttigt. Häftet finns även att köpa på studentexpeditionen, Osquars backe 2.

Kösystemet Sima för hjälp och redovisning

Om du gjort course join prutt09 och därefter loggat ut och sedan loggat in igen så har du tillgång till Sima genom att bara skriva sm i ett terminalfönster. Annars så kan man skriva module add sima och därefter sm. Programmet dyker upp som ett eget fönster med en rad kursförkortningar. Välj prutt och tryck på Login- knappen! När du vill redovisa eller ha hjälp, tryck på Queue- knappen.

Underkatalog för kursen

Detta bör vara självklart för alla: Skapa en egen katalog för kursen där varje labb får en underkatalog (som vid behov själva får underkataloger). Kursen har funnits i många år och kallas inom CSC för prutt följt av årtalet, t.ex. prutt09. Ni får gärna använda annat namn!

Gör ett javaprogram och en applet

För er som läst en grundkurs i programmering där språket Java används så blir den här första uppgiften enkel. Skapa en underkatalog till kursens katalog. Kalla den t.ex. för lab1. Gör nu två mycket små Java-program. Det ena ska vara en applet (Applet eller JApplet) och det andra ska vara ett fristående program som öppnar ett fönster med ram (Frame eller JFrame) på datorskärmen. Se till att författarnas namn står någonstans i fönstret.

Om du är ringrostig (eller t.o.m. nybörjare) som javaprogrammerare påminner vi om att det till appleten måste höra en liten fil som exemplelvis kan heta Happ.html med html-kommandon i och att det är den man tittar på med sin webbläsare, t.ex. Mozilla Firefox, eller ännu hellre med

appletviewer Happ.html
Första gången du använder appletviewern tar den lite tid att starta, men sedan blir den mycket snabbare än webbläsaren. En minimal html-fil kan innehålla <applet code = Happ.class width = 300 height = 150></applet> Här kör vi appleten Happ.class (som är den kompilerade versionen av Happ.java) i ett fönster som är 300 pixlar brett och 150 pixlar högt.

Skapa en utvidgad knappkomponent med olika tillstånd

Skapa nu en klass för en ny grafisk komponent som är en utvidgad knapp, dvs en klass som ärver från Button eller JButton. Knappen ska ha (minst) två olika tillstånd. Ett tryck på knappen ska ändra tillståndet och det ska synas. Minst två saker ska ändras. Man kan välja t.ex. färg på knappen, text på knappen eller textstorlek. Nästa tryck på knappen går tillbaka till starttillståndet. Om ni väljer n st tillstånd så ska man efter n tryck på knappen vara tillbaka i starttillståndet. OBS! Det är viktigt och krävs att knappkompnenten själv sköter om sina tillstånd. Det duger inte att det omgivande programmet (applet eller fristående program) ändrar knappens tillstånd!

Knappar i fönstren

Lägg objekt (gärna fler än ett enda) av den nya knappen både i appleten och det fristående programmet.

Lägg knappen i ett paket

Pröva slutligen att lägga den nya knappklassen i ett eget paket, som kan vara en underkatalog paket och skriv lämpliga package och import överst i inblandade javafiler så att det hela fungerar igen.

Redovisning

Vid redovisning så skall följande visas upp och förklaras
  • Knappkomponenten enligt ovan i ett eget paket
  • Objekt av komponenten i en applet. Gruppmedlemmars namn ska synas i appleten.
  • Två objekt av komponenten i ett fristående fönster. Gruppmedlemmars namn ska synas i fönstret.
Visa förstås hur knapptryckningar ändrar objektens tillstånd.

När handledaren är nöjd, be om hans/hennes underskrift på ditt kvittensblad!
Kvittensbladet finns för utskrift på kurshemsidan under Laborationer.

Sidansvarig: <ann@nada.kth.se>
Senast ändrad 9 mars 2009
Tekniskt stöd: <webmaster@nada.kth.se>