Övningar - Webbprogrammering med Java
1
- Logga in, byt inte lösenordet vid första
frågan! Byt efter du loggat in från Start-menyn.
- Gå till http://www.df.lth.se.orbin.se/~mikaelb/java-sve.html,
klicka på Pocket Calculator och spara installationspaketet
pocketcalc11.zip i en ny mapp kallad Incoming på M:, packa
upp med WinZip i en mapp pocketcalc på M:.
- Skapa ett nytt projekt i JBuilder.
- Gör Open på filen PocketCalc.java.
- Kör och se att du får upp en miniräknare.
Java-filen har nu också kompilerats och de resulterande
class-filerna finns i jbuilder2\myclasses.
- Skapa en html-fil i myclasses mappen med ditt namn i filnamnet
t ex nisse_pocketcalc.html (undvik åäö och
mellanslag) och redigera den i Notepad/Anteckningar.
- Lägg in APPLET-taggen enligt exempel i
källkoden.
- Ändra färgen som är #RRGGBB vilket motsvarar
hexkoderna för röd, grön och blå.
- Ladda upp html- och class-filerna med upload funktionen i
Netscape. Detta åstadkommer du genom att skriva
ftp://användarnamn@ftpdatornamn/användarnamn/,
lösenord fås av övningsledaren.
- Kolla på sidan vid
http://httpdatornamn/användarnamn/
- Besvara frågor om JBuilder.
2
- Prova chatten.
- Gör en Java-applet i JBuilder som tänder och
släcker bakgrunden när man klickar på en knapp.
Använd metoderna:
this.setBackground(Color)
,
knapp.setLabel(String)
,
knapp.setForeground(Color)
. Ljud kan fås med
Toolkit.getDefaultToolkit().beep()
. Du kan skapa egna
färger med t ex Color darkgreen = new
Color(0x008000);
, dessutom finns fördefinierade
färger t ex Color.black
,
Color.yellow
och Color.red
.
- Skapa nytt projekt i JBuilder.
- Ny applet.
- Lägg in en knapp från AWT-fliken i
designläget.
- När man klickar på knappen skall
bakgrundsfärgen ändras.
- Ändra texten på knappen från På till Av
beroende på vad som skall hända när man klickar.
Gör också så att knapptexten ändras.
- Gör en annan Java-applet med två knappar som
tänder och släcker ljuset. Det skall fungera som
trappomkopplare, dvs när de är olika skall det var
tänt och när de är lika skall det vara
släckt.
- Installera appletterna på servern.
- Exempel på övning 1: lampknapp.LampKnapp.html
Kod: LampKnapp.java
Fungerar i webbläsarna Netscape 4.06, HotJava 1.1.4 och
Internet Explorer 4.01. I den senare ändras dock inte
bakgrunden pga en bugg.
3
- Starta en DOS-box på skolans NT-maskin. Starta cmd.exe i
C:\winnt\system32\ frän Utforskaren.
- Skriv
m:
- Skriv
cd personal
- Skriv
notepad setjava.bat
- Kopiera in detta:
@echo off
set classpath=.
set path=q:\borland\jbuilder2\java\bin;%path%
- Spara och stäng Notepad
- Skriv
setjava
(i fortsättningen behöver
du bara gå ut i DOS och gå till mappen med setjava och
köra det.)
- Hämta ner och packa upp kursbokens exempel och kompilera
och kör dem. Länk till kursbokens hemsida finns på
kursens hemsida.
- Kopiera ett exempel och klistra in i en Notepad som startades
från DOS med rätt namn t ex
notepad
PocketCalc.java
.
javac PocketCalc.java
för att kompilera,
notera nytillkomna class-filer genom att skriva
dir
.
java PocketCalc
eller appletviewer
PocketCalc.java
, beroende på om det är en
applikation eller applet. Appletviewer förutsätter att
det finns en APPLET-tagg i filen.
4
- Ärv från en komponent t ex Button.
- Ett exempel är trappomkopplare:
Exempel: trappomk.TrappOmkDemo.html
Kod: TrappOmkDemo.java
Denna applet utnyttjar arv för att göra en speciell
knapptyp.
- Kompilera och kör kursbokens exempel om paket.
5
Valfri övning.
6
Modifiera SimpleBanner som finns på s 571 i Java 1.1 T C
R.
Exempel på modifikation:
scroller.Scroller.html
Scroller.java
Detta är en applet som använder multithreading.
7
- Gör en applet som öppnar ett nytt fönster vid
knapptryck.
Exempel: wb.WB.html
Kod: WB.java
- Gör en applet och applikation som ritar med
grafikoperationerna.
Exempel: newgraph.NewGraph.html
Kod: NewGraph.java
- Gör en applet som skriver text med olika typsnitt.
- Gör en applet som ser ut och fungerar som WS_FTP, men som
inte överför filer utan bara orden i listorna.
8
- Gör en applet som visar en lista med alla typsnitt i
Java. När man klickar på ett typsnitt skall ett
typsnittsprov visas i en Label. I en Choice skall man kunna
välja storlek i punkter på typsnittsprovet. Denna
applet kan byggas ut med kryssrutor för välja bold och
italic. Man kan också visa olika mått i pixlar i icke
editerbara textrutor.
Exempel: fontlist.FontList.html
Kod: FontList.java
- Gör en applet och applikation som visar egenskaper hos
systemet. Visa os.arch, os.name, java.vendor, java.version och
user.dir i en lista. När man klickar på listan
resultatet av System.getProperty(prop). I andra rutor ska fritt
minne i kB stå, använd funktionen
Runtime.getRuntime().freeMemory()/1024. I en annan ruta skall
skärmstorleken stå, använd satsen: Dimension dim =
Toolkit.getDefaultToolkit.getScreenSize(); och uttrycket:
dim.width + " x " + dim.height, för att få reda
på skärmstorleken.
Exempel: sysprop.SystemProperties.html
Kod: SystemProperties.java,
SystemPropertiesAppn.java
- Gör ett program som laddar en bild och kan rulla och
zooma den. Använd double-buffering för att undvika
flimmer.
9
- Gör en applet med en enradig textruta och en flerradig
icke editerbar textarea, när man skriver en URL i textrutan
och trycker på Enter så skall filen hämtas
över Internet och visas i textarean. Även relativa
URL:ar skall kunna visas och dessa skall anges relativt webbsidan
som appletten ligger på (använd applettens
getDocumentBase-metod.)
- Appletten skall kunna ha en parameter BACKCOLOR med en
hexadecimal färgkod som värde.
- Förbättra appletten så att markörens
position (rad och kolumn) visas i en Label.
10
- Prova RMI enligt s 820-824 i Java 1.1 T C R.
- Studera koden till föreläsningens databasappletter
utan och med RMI-server:
Utan RMI: QueryMyTable.java,
QueryDB.java
Med RMI: DBClient.java,
DBServer.java,
DBServerIntf.java,
DBServerImpl.java
- Arbeta med inlämningsuppgifter.
11
- Produktifiera en av dina appletter, jfr Pocket
Calculator.
- Tillämpa något tips & tricks.
- Arbeta med inlämningsuppgifter.
12
- Diskutera extentor.
- Prova webbplatserna, news-grupperna och prenumerera på
nyhetsbrev via e-post.
- Arbeta med inlämningsuppgifter.
Copyright © 1998 by Mikael
Bonnier, Lund, Sweden