Hoofdstuk 3: Inleiding tot Java Applets

Slides:



Advertisements
Verwante presentaties
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
Advertisements

‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Downloaden: Ad-aware. Downloaden bestaat uit 3 delen: •1. Zoeken naar de plek waar je het bestand kan vinden op het internet •2. Het nemen van een kopie.
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
Databases via internet
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
Presenteren voor starters
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Het type int Tekenen met Java operatoren
© BeSite B.V www.besite.nl Feit: In 2007 is 58% van de organisaties goed vindbaar op internet, terwijl in 2006 slechts 32% goed vindbaar.
Klassen en objecten.

Nooit meer onnodig groen? Luuk Misdom, IT&T
Hoofdstuk 6: Controle structuren
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
Hoofdstuk 2 : Inleiding tot Java Applicaties
CONTROLESTRUCTUREN (DEEL 2)
Oefeningen Hoofdstuk 3.
Afrika: Topo nakijken en leren.
User management voor ondernemingen en organisaties
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
JAVA1 Hoofdstuk 2: Inleiding tot Java Applicaties.
6.1 Inleiding HOOFDSTUK 6 METHODEN
Hoofdstuk 2: Inleiding tot Java Applicaties
1 HOOFDSTUK 5 CONTROLESTRUCTUREN (DEEL 2) 5.1. INTRODUCTIE  Vervolg discussie omtrent gestructureerd programmeren  Introductie van de overblijvende controlestructuren.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Statistiekbegrippen en hoe je ze berekent!!
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
1 Syntax JavaLogo. 2 Hoofdstuk 1 Tekenen in Java.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Centrummaten en Boxplot
Waar gaat het nou toch om?!
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
Hoofdstuk 6 – Objectgeoriënteerd Programmeren: Overerving
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
JAVA: een platformonafhankelijke taal
Polymorphisme en Interfaces: inleiding
Hoofdstuk 3 Tekenen en rekenen.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Eigen klassen maken A new way of thinking.. Wat? Zie voorbeeld. Zie voorbeeld.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Transcript van de presentatie:

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 = 2r). 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.