^ Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31 ^| | [[java:java-applet-opgaver|forrige]] | Kapitel 10. Appletter og grafik | [[java:java-gui|næste]] | ---- ==== 10.4. Appendiks ==== 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. === 10.4.1. Metoder i appletter, som du kan kalde === 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 før . === 10.4.2. Metoder, som systemet kalder === 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(). === 10.4.3. Klassen Graphics === 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. ---- | [[java:java-applet-opgaver|forrige]] | [[java:index|hjem]] | [[java:java-gui|næste]] | | Opgaver | [[java:java-applet|op]] | Grafiske brugergrænseflader |