H2 Je eerste Java Applet

Leerdoelen

Na het bestuderen van dit hoofdstuk wordt van je verwacht dat je:

  • een eenvoudige Java Applet kunt maken
  • 2 manieren kent hoe je commentaar in je code kunt plaatsen
  • weet hoe je andere Java klassen in je Applet kunt importeren
  • hoe je een methode in je klasse maakt
  • weet hoe je code overzichtelijk houdt door in te springen
  • weet wat een String is
  • weet hoe je een String op een bepaalde positie in het Applet venster plaatst
  • weet hoe je (achtergrond-)kleuren kunt gebruiken

Praktijk

In dit hoofdstuk leer je werken met een Java "Applet". De meeste code editors hebben een zogenaamde Applet Viewer waarmee een venster wordt geopend. Dit maakt ze zeer geschikt om de eerste Java beginselen mee te leren. Verder worden ze niet veel meer gebruikt.

screenshot Applet

Maak de volgende klasse in je code editor en voer het programma uit.

/*

@(#)Show.java 1.0 03/02/26

*

Voorbeeld 2.1

*

*/

//importeer de benodigde klassen uit de Java bibliotheek
import java.awt.*;
import java.applet.*;

//een klasse met de naam Show van het type Applet
public class Show extends Applet {

  //een (lege) methode die de Applet initialiseert
  public void init() {
  
  }
  //een methode die de inhoud van het scherm tekent
  public void paint(Graphics g) {
    g.drawString("Welcome to Java!!", 50, 60 );
  }

}

Commentaar in je code opnemen

De applet begint met regels commentaar. Commentaar wordt niet door de compiler gelezen, maar is voor programmeurs bijvoorbeeld bedoeld als uitleg van de code eronder. Commentaar verspreid over meerdere regels staat tussen /* en */. Commentaar op een enkele regel kan achter // staan zoals je kunt zien.

Andere klassen Importeren

import java.awt.*;
import java.applet.*;

Achter import staat de naam van een klassenbibliotheek. Dit gebruikt de linker om uit de klassenbibliotheek voorgedefinieerde codes te halen. Je ziet dat het mogelijk is meerdere klassen in een applet te gebruiken. Klassen bevinden zich in zogenaamde "packages". Met het sterretje geef je aan dat alle klassen uit een bepaalde package geïmporteerd moeten worden. Om een indruk te krijgen van alle packages en klassen die je in Java kunt gebruiken ga je naar de standaard Java API (zie web links).

Klasse

public class Show extends Applet {

  public void init() {

  }

  public void paint(Graphics g) {
    g.drawString("Welcome to Java!!", 50, 60 );
  }
}

Elk Java-programma bestaat uit tenminste één klasse die je zelf schrijft. In dit geval heet de klasse Show. Achter de naam Show staat extends Applet. Dat betekent dat de klasse Show een uitbreiding is van de klasse Applet. Deze klasse Applet staat in java.applet en daarom staat hij achter import. De naam van een klasse begint altijd met een hoofdletter. De body van een klasse begint altijd met een openingsaccolade en eindigt met een sluitaccolade. De sluitaccolade die op deze manier bij de openingsaccolade hoort, staat onder de eerste letter van de regel waarop de openingsaccolade staat. Om je code goed leesbaar te houden spring je na iedere openingsaccolade een aantal spaties of een tab in.

Methoden

Tussen de accolades van de klasse Show staan twee methodes: de methode init en de methode paint. Ook methodes hebben een openings- en een sluitaccolade. Omdat de methodes beide tot de klasse Show behoren, springen zij in, evenals hun accolades.

Methodes kun je herkennen aan de ronde haakjes achter de naam van de methode. Een methode bestaat uit een aantal opdrachten met een naam erboven. De opdrachten die tussen de accolades van de methode staan, vormen samen de body van een methode.

Opdrachten

In de methode init staat tussen de accolades niets. Dat betekent dat de methode niets doet. De methode init wordt altijd eerst uitgevoerd, voordat andere methodes worden uitgevoerd. Daar zullen we in een volgend voorbeeld gebruik van maken. In de methode paint staat één opdracht:
g.drawString("Welcome to Java!!", 50, 60 );
Een opdracht sluit je altijd af met een puntkomma. De opdracht g.drawString zorgt ervoor dat de tekst Welcome to Java!! in de applet op het scherm komt te staan. De dubbele aanhalingstekens komen niet op het scherm te staan. Zij geven aan in de broncode dat de tekst letterlijk op het scherm moet komen. Zo'n tekst tussen aanhalingstekens heet een string, letterlijk ketting, een ketting van nul, één of meerdere tekens. Achter de string staan twee getallen. Dat zijn de coördinaten, waarmee de plaats bepaald wordt waar de string in de applet op het scherm komt. De coördinaten zorgen ervoor dat de linkeronderhoek van het eerste teken van de string op positie 50 vanaf de linkerkant en op positie 60 vanaf boven geplaatst wordt. De x-coördinaat begint links met 0 en de y-coördinaat begint boven met 0.

De coördinaten zorgen ervoor dat de linkeronderhoek van het eerste teken van de string op positie 50 vanaf de linkerkant en op positie 60 vanaf boven geplaatst wordt. De x-coördinaat begint links met 0 en de y-coördinaat begint boven met 0.

Kleur gebruiken

Als je de applet laat uitvoeren, dan zie je een wit venster met daarin de tekst Welcome to Java!! In het zwart. Niets bijzonders dus. We gaan het programma uitbreiden en meer kleur in het leven brengen. Daarvoor gebruiken we in eerste instantie de methode init. Daarin zetten we de opdracht setBackground(Color.magenta); Deze opdracht stelt de achtergrondkleur van het venster in op paars. Ook breiden we de methode paint() uit met de opdracht g.setColor(Color.yellow);. Deze opdracht zorgt ervoor dat de tekens van de string in het geel worden getekend.

De broncode van de applet ziet er nu als volgt uit:

//Voorbeeld 2.2

import java.awt.*;
import java.applet.*;

public class Show extends Applet {

  public void init() {
    setBackground(Color.magenta);
  }

  public void paint(Graphics g) {
    g.setColor(Color.yellow);
    g.drawString("Welcome to Java!!", 50, 60 );
  }
}

Vragen

  1. Wat is machinetaal?
  2. Welke drie hulpmiddelen heb je nodig om te programmeren?
  3. Hoe herken je opdrachten in de broncode?
  4. Waartoe dienen de import-opdrachten?
  5. Wat is een methode?

Opdracht 2.1

Maak een applet in Java waarin je naam in het geel wordt afgedrukt op een blauwe achtergrond.

Opdracht 2.2

Maak een applet in Java waarin je roepnaam en je achternaam onder elkaar worden afgedrukt. De achtergrond kleur is wit, je roepnaam wordt in blauw en je achternaam in rood afgedrukt op het scherm.