Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31 | ||
---|---|---|
forrige | Kapitel 10. Appletter og grafik | næste |
Appletter har nogle metoder, som det kan være nyttigt at kende. De er delt i to grupper, nemlig dem du kan kalde, og dem systemet kalder, og som du kan omdefinere for at få udført noget af din kode, når de kaldes.
Disse metoder står til din rådighed, når du programmerer appletter. Det er kun de vigtigste af metoderne, der er gengivet (se Javadokumentationen for Applet og Component for en komplet liste).
Nogle af Applet-klassens metoder
repaint(int millisekunder)forårsager at systemet kalder paint() på appletten lidt senere.
Dimension getSize()returnerer applettens højde og bredde i et Dimension-objekt (der har variablerne width og height).
URL getCodeBase()giver URL'en til CODEBASE, dvs. hvor .class-filen er.
URL getDocumentBase()giver URL'en til der, hvor HTML-dokumentet ligger.
AudioClip getAudioClip(URL url, String filnavn)returnerer et lydklip-objekt, typisk fra en .wav-fil.
Image getImage(URL url, String filnavn)returnerer et billede-objekt, typisk fra en .png eller .png-fil.
String getParameter(String parameternavn)returnerer den pågældende parameterværdi, hvis den er defineret i HTML-koden, ellers null. En parameter sættes med <PARAM name="navn" value="værdi"> før </APPLET>.
Appletter har en række metoder, som du selv kan definere, og som systemet vil kalde.
public void paint(Graphics g)
Her programmerer du, hvordan appletten skal se ud på skærmen ved at kalde metoder på Graphics-objektet g (dets metoder er forklaret i næste afsnit).
Metoden kaldes af systemet, hver gang der er behov for at gentegne en del eller hele appletten. Det kan være ret så ofte, så man bør have så lidt kode som muligt her, så metoden kan udføres hurtigt.
public void init()
Kaldes, når fremviseren indlæser HTML-dokumentet og appletten. Her kan du lægge kode, der initialiserer programmet. init() bliver kun kaldt én gang.
public void start()
Kaldes, når appletten bliver synlig. Normalt sker det lige efter init(), men hvis HTML-dokumentet er meget stort, og appletten er i bunden af dokumentet, kan det være, den ikke er synlig med det samme. Så kaldes start() først, når appletten bliver synlig for brugeren. start() kan godt blive kaldt flere gange, hvis appletten skjules og bliver synlig igen.
public void stop()
Kaldes, når appletten bliver skjult. Det kan være, fordi vinduet bliver minimeret, eller fordi brugeren går til et andet dokument. Ligesom start() kan stop() godt blive kaldt flere gange.
public void destroy()
Kaldes, når appletten smides væk af fremviseren, fordi brugeren er gået til et andet dokument eller har lukket vinduet. destroy() bliver kun kaldt én gang. Er der noget, der er vigtigt at få gjort inden programmet afsluttes, kan du lægge kode til at gøre det i destroy().
Graphics er beregnet til at tegne grafik (på skærm eller printer). Man skal ikke selv oprette Graphics-objekter med new, i stedet får man givet et "i hånden", når styresystemet afgører, at vinduet skal tegnes op. Herunder gengives kun nogle af metoderne - se Javadokumentationen for en komplet liste.
java.awt.Graphics - todimensional grafiktegning
Metoder
void drawLine(int x1, int y1, int x2, int y2)
tegner en linje mellem punkterne (x1, y1) og (x2, y2).
void drawRect(int x, int y, int bredde, int højde)
tegner omridset af et rektangel.
void drawString(String tekst, int x, int y)
tegner tekst med øverste venstre hjørne i (x,y).
void drawOval(int x, int y, int bredde, int højde)
tegner en oval med øverste venstre hjørne i (x,y). Er bredde==højde, tegnes en cirkel.
void drawArc(int x, int y, int bredde, int højde, int startvinkel, int vinkel)
tegner en del af en oval, men kun buen fra startvinkel og vinkel grader rundt (mellem 0 og 360).
void fillRect(int x, int y, int bredde, int højde)
tegner et udfyldt rektangel.
void fillOval(int x, int y, int bredde, int højde)
tegner en udfyldt oval med øverste venstre hjørne i (x,y). Er bredde==højde, tegnes en cirkel.
void fillArc(int x, int y, int bredde, int højde, int startvinkel, int slutvinkel)
tegner en udfyldt del af en oval, men kun fra startvinkel til slutvinkel (mellem 0 og 2 pi).
Rectangle getClipBounds()
giver grafik-objektets klipnings-omrids. Kun punkter inden for dette omrids bliver faktisk tegnet, ting uden for omridset bliver beskåret til den del, der er inden for omridset.
void setColor(Color nyFarve)
sætter tegnefarven til nyFarve. Alt bliver herefter tegnet med denne farve.
Color getColor()
aflæser tegningsfarven.
void setFont(Font nySkrifttype)
sætter skrifttypen til nySkrifttype. Dette påvirker tekster skrevet med drawString() herefter.
Font getFont()
aflæser skrifttypen.