Hoofdstuk 3: Inleiding tot Java Applets
3.1. INLEIDING Applet is een JAVA-programma maakt deel uit van een webpagina wordt uitgevoerd door de JVM in een webbrowser of wordt uitgevoerd in de appletviewer bijna geen bestandsverwerking mogelijk. Reden: veiligheid.
3.2. DEMONSTRATIE APPLETS Op de site http://java.sun.com JAVA 2 Platform Standard Edition downloaden demo’s bekijken en/of downloaden Demos: TicTacToe Applet Drawtest Applet JAVA2D Applet
DEMO 1: TICTACTOE APPLET
DEMO 2: DRAWTEST APPLET
DEMO 3: JAVA2D
3.3 EIGEN APPLET MAKEN EN UITVOEREN: DE VERSCHILLENDE STAPPEN De broncode van de applet intikken in een editor en bewaren met extensie .java Compileren: broncode wordt vertaald naar bytecode. Heeft als extensie .class Een HTML-pagina maken met een speciale code om de JAVA-applet te starten. Webbrowser of appletviewer starten en het HTML-bestand openen De applet wordt automatisch uitgevoerd en het resultaat zie je op het scherm.
WEBBROWSER EN APPLETVIEWER Wanneer gebruiken we een appletviewer? Wanneer gebruiken we een webbrowser? Testen van een applet Uitvoeren van een applet (gedownload of reeds uitgetest)
3.3 SIMPEL JAVA-APPLET: EEN TEKST WEERGEVEN We zullen zelf een applet creëren We willen dat de tekst Welcome to JAVA Programming ! wordt weergegeven op het scherm. We zullen de broncode en de HTML bespreken
HET JAVA PLATFORM Hello.class Inleidend commentaar 1 // Fig. 3.6: WelcomeApplet.java 2 // Een eerste applet in Java. 3 4 // Java packages 5 import java.awt.Graphics; // importeert klasse Graphics 6 import javax.swing.JApplet; // importeert klasse JApplet 7 8 public class WelcomeApplet extends JApplet 9 { 10 // tekent tekst op de achtergrond van de applet 11 public void paint( Graphics g ) 12 { 13 // oproepen van de geërfde methode paint 14 super.paint( g ); 15 16 // tekent een String op x-coördinaat 10 en y-coördinaat 20 17 g.drawString( "Welcome to Java Programming!", 10, 20 ); 18 19 } // einde methode paint 20 21 } // einde klasse WelcomeApplet HET JAVA PLATFORM Importeren van de nodige packages Hello.class De applet-klasse, met daarin de methode paint()
INLEIDEND COMMENTAAR // Fig. 3.6: WelcomeApplet.java 2 // Een eerste applet in Java. Commentaar Naam van de broncode Beschrijving van de applet
IMPORTEREN VAN PACKAGES 5 import java.awt.Graphics; // importeert klasse Graphics 6 import javax.swing.JApplet; // importeert klasse JApplet De import-statement geeft de compiler de opdracht de applet toegang te geven tot een klasse van een package Wanneer je een applet maakt, importeer de klasse JApplet (package javax.swing) importeer de klasse Graphics (package java.awt). Kan lijnen, rechthoeken, ovalen en tekst tekenen
De Klasse WelcomeApplet bestaat uit Kop (header) DE APPLET-KLASSE 8 public class WelcomeApplet extends JApplet 9 { 10 // tekent tekst op de achtergrond van de applet 11 public void paint( Graphics g ) 12 { 13 // oproepen van de geërfde methode paint 14 super.paint( g ); 15 16 // tekent een String op x-coördinaat 10 en y-coördinaat 20 17 g.drawString( "Welcome to Java Programming!", 10, 20 ); 18 19 } // einde methode paint 20 21 } // einde klasse WelcomeApplet De Klasse WelcomeApplet bestaat uit Kop (header) Body Van openingsaccolade tot en met sluitingsaccolade In de body staat methode paint 8 public class WelcomeApplet extends JApplet
KOP (HEADER) VAN APPLET-KLASSE Applets hebben minstens één klasse door de programmeur gedefinieerd (= user-defined class) We beginnen niet vanaf nul Stukken van een bestaande klasse gebruiken. Overerving: creëer nieuwe klassen op basis van bestaande 8 public class WelcomeApplet extends JApplet
KOP (HEADER) VAN APPLET-KLASSE Keyword class: we definiëren de klasse WelcomeApplet Keyword extends: De klasse WelcomeApplet erft de data en de methoden van JApplet JApplet : superklasse (basisklasse) WelcomeApplet : subklasse (afgeleide klasse) 8 public class WelcomeApplet extends JApplet
KOP (HEADER) VAN APPLET-KLASSE Klasse JApplet betekent voor ons Iemand anders heeft gedefinieerd “wat het betekent om een applet te zijn" Applets hebben meer dan 200 methodes nodig! extends JApplet We erven methodes; we dienen ze niet allemaal zelf te definiëren We dienen niet elk detail van de klasse JApplet te kennen. 8 public class WelcomeApplet extends JApplet
KOP (HEADER) VAN APPLET-KLASSE Keyword public: WelcomeApplet is beschikbaar voor alle andere objecten, van welke packages ze ook deel uitmaken. De appletviewer of browser creëert een object van de klasse WelcomeApplet De klasse moet public zijn Bestand kan maar één public klasse hebben De bestandsnaam = public klassenaam 8 public class WelcomeApplet extends JApplet
KOP (HEADER) VAN APPLET-KLASSE Onze klasse erft onder andere de methoden paint, init en start van JApplet By default: init en start hebben lege body’s. We overschrijven enkel de methode(s) die we nodig hebben. Wij overschrijven paint in onze klasse. Worden alle drie automatisch opgeroepen 8 public class WelcomeApplet extends JApplet
BODY VAN DE APPLET-KLASSE: METHODE PAINT() 8 public class WelcomeApplet extends JApplet 9 { 10 // tekent tekst op de achtergrond van de applet 11 public void paint( Graphics g ) 12 { 13 // oproepen van de geërfde methode paint 14 super.paint( g ); 15 16 // tekent een String op x-coördinaat 10 en y-coördinaat 20 17 g.drawString( "Welcome to Java Programming!", 10, 20 ); 18 19 } // einde methode paint 20 21 } // einde klasse WelcomeApplet In de methode paint() staan altijd opdrachten om iets op het scherm te zetten, te ‘tekenen’. De inhoud van paint(): zelf bepalen kan tekst zijn, maar ook figuren.
KOP (HEADER) VAN METHODE PAINT() In de kop staat de naam van de methode in ons geval paint voorafgegaan door de keywords public void door public kan appletviewer of browser de methode paint oproepen. void: de methode geeft geen resultaat terug, wanneer de methode paint is uitgevoerd. 11 public void paint( Graphics g )
KOP (HEADER) VAN METHODE PAINT() Na de naam van de methode staan ronde haakjes = parameterlijst in de parameterlijst ontvangt de methode data, die hij nodig heeft om zijn taak te kunnen uitvoeren. paint ontvangt automatisch de parameter, nl. een referentie naar een object van Graphics. het object is het uitvoerscherm waar de tekst zal terechtkomen. 11 public void paint( Graphics g )
BODY VAN DE APPLET-KLASSE: METHODE PAINT() 12 { 13 // oproepen van de geërfde methode paint 14 super.paint( g ); 15 16 // tekent een String op x-coördinaat 10 en y-coördinaat 20 17 g.drawString( "Welcome to Java Programming!", 10, 20 ); 18 19 } // einde method paint herhaling: tussen beide accolades kun je zoveel JAVA-opdrachten zetten als je wilt. een opdracht in JAVA = statement elke statement eindigt op ;
BODY VAN DE APPLET-KLASSE: METHODE PAINT() Methode drawString (van klasse Graphics) De gegevens tussen de haakjes = argumenten eerste argument: String tekenen tweede argument: x-coördinaat derde argument: y-coördinaat 14 super.paint( g ); Methode paint van de superklasse JApplet wordt opgeroepen. 17 g.drawString( "Welcome to Java Programming!", 10, 20 );
Beeldscherm is opgebouwd uit kleine puntjes, zogenaamde pixels. y 17 g.drawString( "Welcome to Java Programming!", 10, 20 ); (0, 0) (10, 20)
Bewaren met extensie .html (WelcomeApplet.html) naam vrij te kiezen bewaren in dezelfde directory als de applet 1 <html> 2 <applet code = "WelcomeApplet.class" width = "300" height = "40"> 3 </applet> 4 </html> HTML codes (tags) komen meestal 2 keer voor begint met < en eindigt met > niet case-sensitive
Lijn 1 en 4: begin en einde van het HTML-bestand 2 <applet code = "WelcomeApplet.class" width = "300" height = "40"> 3 </applet> 4 </html> Lijn 2 en 3: speciale tags voor JAVA applets appletviewer begrijpt enkel deze tags <APPLET> heeft drie attributen: 1. De applet die uitgevoerd dient te worden 2/3. Grootte van het scherm
3.4 VOORBEELD 2 We willen dat de tekst Welcome to JAVA Programming ! wordt weergegeven op het scherm. We zullen de broncode en de HTML bespreken
HET JAVA PLATFORM Inleidend commentaar 1 // Fig. 3.9: WelcomeApplet2.java 2 // Geeft meerdere strings weer in een applet. 3 4 // Java packages 5 import java.awt.Graphics; // importeert klasse Graphics 6 import javax.swing.JApplet; // importeert klasse JApplet 7 8 public class WelcomeApplet2 extends JApplet 9 { 10 // tekent tekst op de achtergrond van de applet 11 public void paint( Graphics g ) 12 { 13 // oproepen van de geërfde methode paint 14 super.paint( g ); 15 16 // tekent strings op verschillende locaties 17 g.drawString( "Welcome to", 25, 25 ); 28 g.drawString( "Java Programming!", 25, 40 ); 19 20 } // einde methode paint 21 22 } // einde klasse WelcomeApplet2 HET JAVA PLATFORM Importeren van de nodige packages De applet-klasse, met daarin de methode paint() 1 <html> 2 <applet code = "WelcomeApplet2.class" width = "300" height = "60"> 3 </applet> 4 </html>
METHODE drawString() 16 // tekent strings op verschillende locaties 17 g.drawString( "Welcome to", 25, 25 ); 18 g.drawString( "Java Programming!", 25, 40 ); (0, 0) (25, 25) (25, 40)
VOORBEELD 3 We wensen twee lijnen en een tekst weer te geven op het scherm Welcome to JAVA Programming ! We zullen de broncode bespreken
HET JAVA PLATFORM Inleidend commentaar 1 // Fig. 3.11: WelcomeLines.java 2 // Geeft tekst en lijnen weer in een applet 3 4 // Java packages 5 import java.awt.Graphics; // importeert klasse Graphics 6 import javax.swing.JApplet; // importeert klasse JApplet 7 8 public class WelcomeLines extends JApplet 9 { 10 // tekent 2 lijnen en tekst op de achtergrond van de applet 11 public void paint( Graphics g ) 12 { 13 // oproepen van de geërfde methode paint 14 super.paint( g ); 15 16 // tekent een horizontale lijn van (15, 10) naar (210, 10) 17 g.drawLine( 15, 10, 210, 10 ); 18 19 // tekent een horizontale lijn van (15, 30) naar (210, 30) 20 g.drawLine( 15, 30, 210, 30 ); 21 22 // tekent een String, tussen de lijnen, op positie (25, 25) 23 g.drawString( "Welcome to Java Programming!", 25, 25 ); 24 25 } // einde methode paint 26 27 } // einde klasse WelcomeLines HET JAVA PLATFORM Importeren van de nodige packages De applet-klasse, met daarin de methode paint()
Methode drawLine van de klasse Graphics 4 argumenten: 16 // tekent een horizontale lijn van (15, 10) naar (210, 10) 17 g.drawLine( 15, 10, 210, 10 ); 18 19 // tekent een horizontale lijn van (15, 30) naar (210, 30) 20 g.drawLine( 15, 30, 210, 30 ); Methode drawLine van de klasse Graphics 4 argumenten: x en y coördinaat van beginpunt x en y coördinaat van eindpunt
METHODE drawLine 18 // tekent een horizontale lijn van (15, 10) naar (210, 10) 19 g.drawLine( 15, 10, 210, 10 ); 20 21 // tekent een horizontale lijn van (15, 30) naar (210, 30) 22 g.drawLine( 15, 30, 210, 30 ); (15, 10) (210,10) (15, 30) (210, 30)
3.5 VOORBEELD 4 We wensen dat de gebruiker twee decimale getallen ingeeft. De som wordt weergegeven op het scherm. We zullen de broncode en de HTML bespreken
HET JAVA PLATFORM Inleidend commentaar 1 // Fig. 3.13: AdditionApplet.java 2 // Telt twee decimale cijfers op en geeft het resultaat weer. 3 4 // Java packages 5 import java.awt.Graphics; // importeert klasse Graphics 6 import javax.swing.*; // importeert package javax.swing 7 8 public class AdditionApplet extends JApplet 9 { private double sum; // som van de twee ingegeven waarden 10 11 // initialisatie van de applet: waarden worden ingegeven 12 public void init() 13 { 14 String firstNumber; //1ste string,ingegeven door gebruiker 15 String secondNumber;//2de string ,ingegeven door gebruiker 16 17 double number1; // eerste getal 18 double number2; // tweede getal 19 20 // eerste getal wordt aan de gebruiker gevraagd 21 firstNumber = JOptionPane.showInputDialog( 22 "Enter first floating-point value" ); 23 24 // het tweede getal wordt aan de gebruiker gevraagd 25 secondNumber = JOptionPane.showInputDialog( 26 "Enter second floating-point value" ); 27 28 // converteert getallen van type String naar type double 29 number1 = Double.parseDouble( firstNumber ); 30 number2 = Double.parseDouble( secondNumber ); HET JAVA PLATFORM Importeren van de nodige packages De applet-klasse, met daarin de methodes init() en paint() Methode init()
HET JAVA PLATFORM Methode paint() 32 // het optellen van de ingegeven waarden 33 sum = number1 + number2; 34 35 } // einde init methode 36 37 // het resultaat, wordt in een rechthoek, weergegeven 38 public void paint( Graphics g ) 39 { 40 // oproepen van de geërfde methode paint 41 super.paint( g ); 42 43 // tekent een rechthoek beginnend op pos. (15, 10) 44 // 270 pixels breed en 20 pixels hoog 45 g.drawRect( 15, 10, 270, 20 ); 46 47 // het resultaat (als String) wordt weergegeven op pos.(25, 25) 48 g.drawString( "The sum is " + sum, 25, 25 ); 49 50 } // einde methode paint 51 52 } // einde klasse AdditionApplet HET JAVA PLATFORM Methode paint() 1 <html> 2 <applet code = "WelcomeLines.class" width = "300" height = "40"> 3 </applet> 4 </html>
UITVOER
Beschrijving van de applet INLEIDEND COMMENTAAR 1 // Fig. 3.13: AdditionApplet.java 2 // Telt twee decimale cijfers op en geeft het resultaat weer. Commentaar Naam van de broncode Beschrijving van de applet
IMPORTEREN VAN PACKAGES 4 // Java packages 5 import java.awt.Graphics; //importeert klasse Graphics 6 import javax.swing.*; // importeert package javax.swing Lijn 5: importeer de klasse Graphics (package java.awt). Lijn 6: importeer elke klasse van de package javax.swing. M.a.w. we geven de opdracht aan de compiler de applet toegang te geven tot elke klasse van de package javax.swing. dit wordt gedaan met de asterisk (*) bevat JApplet en JOptionPane * betekent niet: compiler laadt elke klasse Compiler laadt enkel de klassen die worden gebruikt
De Klasse AdditionApplet bestaat uit Kop (header) DE APPLET-KLASSE 8 public class AdditionApplet extends JApplet 9 { private double sum; // som van de twee ingegeven waarden 10 11 // initialisatie van de applet: waarden worden ingegeven 12 public void init() 13 { … 35 } // einde methode init 36 37 // het resultaat, wordt in een rechthoek, weergegeven 38 public void paint( Graphics g ) 39 { … 50 } // einde methode paint 51 52 } // einde klasse AdditionApplet De Klasse AdditionApplet bestaat uit Kop (header) Body Van openingsaccolade tot en met sluitingsaccolade In de body staan de methodes init en paint 8 public class AdditionApplet extends JApplet
KOP (HEADER) VAN APPLET-KLASSE 8 public class AdditionApplet extends JApplet Applets heeft minstens één klasse door de programmeur gedefinieerd (= user-defined class) Klasse AdditionApplet erft van JApplet AdditionApplet erft de methodes paint, init en start van JApplet. Als de browser of appletviewer de applet uitvoert, dan roept ze de methode init 1 keer op. De volgorde van oproepen is steeds: init, start en paint
BODY VAN DE APPLET-KLASSE 9 private double sum;// som van de twee ingegeven waarden 10 11 // initialisatie van de applet: waarden worden ingegeven 12 public void init() 13 { … 35 } // einde methode init 36 37 // het resultaat, wordt in een rechthoek, weergegeven 38 public void paint( Graphics g ) 39 { 50 } // einde methode paint 51 52 } // einde klasse AdditionApplet De body bestaat uit private double sum; en de methodes init en paint.
DECLARATIE VAN ATTRIBUUT-VARIABELE 9 private double sum; // som vd twee ingegeven waarden Is een declaratie van een attribuut-variabele sum is een attribuut-variabele wordt private gedeclareerd in de body van een klasse, niet in een methode. private attribuut-variabelen kunnen overal in de klasse gebruikt worden, dus ook in de methoden van deze klasse. NIET buiten de klasse!!! Variabelen gedeclareerd in methodes zijn lokale variabelen. Kunnen enkel gebruikt worden in de body van de methode krijgt een defaultwaarde (hier 0.0)
int gehele getallen (hoofdstuk 2) float, double decimale getallen PRIMITIEVE TYPEN 9 private double sum; // som vd twee ingegeven waarden int gehele getallen (hoofdstuk 2) float, double decimale getallen int, float en double zijn primitieve typen. float heeft een nauwkeurigheid van 6 tot 7 cijfers. double heeft een nauwkeurigheid van 15 cijfers. een double neemt meer plaats in het geheugen dan een float.
methode init zorgt voor de initialisatie van de applet 11 // initialisatie van de applet: waarden worden ingegeven 12 public void init() 13 { 14 String firstNumber; //1ste string,ingegeven door gebruiker 15 String secondNumber;//2de string ,ingegeven door gebruiker 16 17 double number1; // eerste getal 18 double number2; // tweede getal 19 20 // eerste getal wordt aan de gebruiker gevraagd 21 firstNumber = JOptionPane.showInputDialog( 22 "Enter first floating-point value" ); 23 24 // het tweede getal wordt aan de gebruiker gevraagd 25 secondNumber = JOptionPane.showInputDialog( 26 "Enter second floating-point value" ); 27 28 // converteert getallen van type String naar type double 29 number1 = Double.parseDouble( firstNumber ); 30 number2 = Double.parseDouble( secondNumber ); 31 32 // het optellen van de ingegeven waarden 33 sum = number1 + number2; 34 35 } methode init zorgt voor de initialisatie van de applet M.a.w. init voert werkzaamheden uit die nodig zijn voordat het eigenlijke werk van de applet kan beginnen.
KOP (HEADER) VAN METHODE INIT() 12 public void init() In de kop staat de naam van de methode in ons geval init voorafgegaan door de keywords public void door public kan appletviewer of browser de methode init oproepen. void: de methode heeft geen resultaat terug, wanneer de methode init is uitgevoerd. De parameterlijst is leeg: init heeft niks nodig om zijn taak te kunnen uitvoeren.
BODY VAN DE METHODE INIT() 13 { 14 String firstNumber; //1ste string,ingegeven door gebruiker 15 String secondNumber;//2de string ,ingegeven door gebruiker 17 double number1; // eerste getal 18 double number2; // tweede getal Declaratie van 4 lokale variabelen: 2 lokale string variabelen 2 lokale variabelen van het type double deze variabelen krijgen geen defaultwaarde
BODY VAN DE METHODE INIT() 13 { 14 String firstNumber; //1ste string,ingegeven door gebruiker 15 String secondNumber;//2de string ,ingegeven door gebruiker 17 double number1; // eerste getal 18 double number2; // tweede getal 15 { 16 String firstNumber; //1ste string,ingegeven door gebruiker 17 String secondNumber;//2de string ,ingegeven door gebruiker 18 double number1; // eerste getal 19 double number2; // tweede getal We maken een onderscheid tussen Referentie-variabelen (= referenties) firstNumber en secondNumber zijn referenties primitieve data typen variabelen (= variabelen) number1 en number2 zijn variabelen
REFERENTIES / VARIABELEN verwijzen naar een object (bevatten het adres waar het object in het geheugen zich bevindt) objecten kunnen data en methodes bevatten variabelen kunnen slechts data (1 waarde) bevatten afspraak: referenties en variabelen beginnen met een kleine letter
BODY VAN DE METHODE INIT() 20 // eerste getal wordt aan de gebruiker gevraagd 21 firstNumber = JOptionPane.showInputDialog( 22 "Enter first floating-point value" ); Methode JOptionPane.showInputDialog toont de dialoogbox en leest een string in Inleesresultaat van showInputDialog toekennen aan firstNumber Toekenningsstatement = binaire operator - heeft twee operanden Rechterlid wordt geëvalueerd en toegekend aan variabele in het linkerlid Lees als: firstNumber krijgt de waarde van JOptionPane.showInputDialog( "Enter floating-point value " )
BODY VAN DE METHODE INIT() 24 // het tweede getal wordt aan de gebruiker gevraagd 25 secondNumber = JOptionPane.showInputDialog( 26 "Enter second floating-point value" ); Een tweede decimaal getal wordt aan de gebruiker gevraagd.
Methode Double.parseDouble BODY VAN DE METHODE INIT() 28 // converteert getallen van type String naar type double 29 number1 = Double.parseDouble( firstNumber ); 30 number2 = Double.parseDouble( secondNumber ); Methode Double.parseDouble Converteert String argument in een double (type double) Klasse Double in package java.lang double teruggegeven door Double.parseDouble, wordt toegekend aan de variabele number1 (lijn 30) Herinner u dat number1 als double werd gedeclareerd
Toekenningsstatement BODY VAN DE METHODE INIT() 32 // het optellen van de ingegeven waarden 33 sum = number1 + number2; 34 35 } Toekenningsstatement Berekent de som van number1 en number2 (rechterzijde) Gebruikt de toekenningsoperator = om het resultaat in de variabele sum te stoppen Lees als: sum krijgt de waarde van number1 + number2 number1 en number2 zijn operanden
METHODE PAINT() 37 // het resultaat, wordt in een vierkant, weergegeven 38 public void paint( Graphics g ) 39 { 40 // oproepen van de geërfde methode paint 41 super.paint( g ); 42 43 // tekent een vierkant beginnend op pos. (15, 10) 44 // 270 pixels breed en 20 pixels hoog 45 g.drawRect( 15, 10, 270, 20 ); 46 47 // het resultaat (als String) wordt weergegeven op pos.(25, 25) 48 g.drawString( "The sum is " + sum, 25, 25 ); 49 50 } // einde methode paint De methode init werd uitgevoerd. De browser of appletviewer roept de methode start van de superklasse JApplet op (bevat lege body). Vervolgens wordt de methode paint opgeroepen.
METHODE PAINT() paint ontvangt een referentie g. Referentie g verwijst naar een object van Graphics. De statements in paint gebruiken g om boodschappen naar het Graphics object te kunnen sturen: 37 // het resultaat, wordt in een rechthoek, weergegeven 38 public void paint( Graphics g ) 45 g.drawRect( 15, 10, 270, 20 ); 48 g.drawString( "The sum is " + sum, 25, 25 );
Methode drawRect (van klasse Graphics) METHODE PAINT() 43 // tekent een vierkant beginnend op pos. (15, 10) 44 // 270 pixels breed en 20 pixels hoog 45 g.drawRect( 15, 10, 270, 20 ); Methode drawRect (van klasse Graphics) De gegevens tussen de haakjes = argumenten eerste en tweede argument geven de plaats aan waar de linker bovenhoek van de rechthoek moet komen derde argument: breedte vierde argument: hoogte x y (15, 10) (15+270,10+20)
Methode drawString (van klasse Graphics) METHODE PAINT() 47 // het resultaat (als String) wordt weergegeven op pos.(25, 25) 48 g.drawString( "The sum is " + sum, 25, 25 ); Methode drawString (van klasse Graphics) + zorgt voor de concatenatie van 2 strings: The sum is en sum (geconverteerd naar een string). De geconcateneerde string wordt weergegeven op het scherm op positie (25,25).
ATTRIBUUT-VARIABELEN EN LOKALE VARIABELEN De waarde die werd toegekend aan sum in init beelden we af in paint. We hebben sum gebruikt in init en paint. Vandaar dat we sum als een attribuut-variabele hebben gedeclareerd. number1 gebruiken we enkel in de methode init. De waarde van number1 hadden we in paint niet nodig. Vandaar dat number1 als een lokale variabele werd gedeclareerd. Iedere keer als de methode opnieuw wordt uitgevoerd, worden de lokale variabelen opnieuw gemaakt en aan het eind weer weggegooid.
Oefeningen Hoofdstuk 3
WAT IS DE UITVOER VAN: g.drawString( "Welcome to", 25, 25 ); g.drawString( "Java Programming!", 25, 25 ); g.drawString( "Java Programming!", 25, 30 );
OPGAVEN Vraag de nettoprijs van een artikel (in euro) en de BTW (%). Geef de brutoprijs weer op het scherm. Lees de straal van een cirkel in. Druk de omtrek van de cirkel af (omtrek = 2r). Gebruik de constante Math.PI voor de waarde van . De klasse Math behoort tot de package java.lang, dus we hoeven deze klasse niet te importeren.