MarktundTechnik Home-Page

Previous Page TOC Index Next Page See Page


1. Woche im Überblick:

1. Tag:

Einführung in die Java-Programmierung

von Laura Lemay

Hallo und willkommen beim Java in 21 Tagen! Ab heute werden Sie für die nächsten drei Wochen alles über die Java-Sprache lernen, wie sie benutzt wird, um Applets zu erstellen und wie alleinstehende Java-Anwendungen erstellt werden, die Sie für quasi alles verwenden können.

Ein Applet ist ein dynamisches interaktives Programm, das in einer Web-Seite ausgeführt werden kann, die von einem javafähigen Browser, z. B. HotJava oder Netscape 2.0, angezeigt wird.

HotJava ist ein Browser für das World-Wide Web, der benutzt wird, um Web-Seiten zu sichten, Verknüpfungen zu verfolgen und Dokumente zu übergeben. Er dient auch zum Downloaden und Wiedergeben von Applets auf dem System des Benutzers.

Das ist das globale Ziel für die nächsten drei Wochen. Für heute haben wir uns bescheidenere Ziele gesteckt. Sie lernen in dieser Lektion folgendes:

Java ist eine objektorientierte Programmiersprache, die von Sun Microsystems, einem für seine High-End Unix-Workstations bestens bekannten Unternehmen entwickelt wurde. Die nach C++ modellierte Java-Sprache wurde mit dem Ziel ausgelegt, kompakt, einfach und auf alle Plattformen und Betriebssysteme portierbar zu sein, sowohl was die Quelle als auch die Binärebene (darüber später mehr) anbelangt.

Java wird oft in einem Atemzug mit HotJava, einem Browser für das World-Wide Web von Sun, z. B. Netscape oder Mosaic, genannt (siehe Abb. 1.1). Wodurch unterscheidet sich HotJava von den meisten anderen Browsern? Zusätzlich zu allen grundlegenden Web-Merkmalen kann es Applets auf das System des Benutzers herunterladen und wiedergeben. Applets erscheinen auf einer Web-Seite mehr oder weniger auf die gleiche Weise wie Bilder, sind im Gegensatz zu Bildern jedoch dynamisch und interaktiv. Applets können zum Erstellen von Animationen, Figuren oder Bereichen benutzt werden, die auf Eingaben des Benutzers reagieren, und für Spiele oder andere interaktive Effekte auf den gleichen Web-Seiten, auf denen sich Text und Grafik befindet.

HotJava war zwar der erste WWW-Browser, der Java-Applets unterstützt, jedoch wird Java inzwischen zunehmend in anderen Browsern zur Verfügung gestellt. Netscape 2.0 unterstützt Java-Applets, und andere Browser-Entwickler haben für künftige Produkte bereits Java-Unterstützung angekündigt.

Abbildung 1.1: Der HotJava-Browser

Um ein Applet zu erstellen, schreiben Sie es in der Java-Sprache, kompilieren es mit einem Java-Compiler und beziehen sich auf dieses Applet in Ihren HTML-Web-Seiten. Sie stellen die sich daraus ergebenden HTML- und Java-Dateien auf die gleiche Weise in einen Web-Standort wie gewöhnliche HTML- und Bilddateien. Benutzt jemand HotJava (oder einen anderen javakundigen Browser), um Ihre Seiten mit dem eingebetteten Applet anzuzeigen, lädt dieser Browser das Applet auf das lokale System und führt es aus. Der Benutzer kann Ihr Applet betrachten und mit ihm in all seiner Herrlichkeit interagieren. Benutzer, die andere Browser verwenden, sehen gar nichts! Sie lernen bald mehr darüber, wie Applets, Browser und das World-Wide Web zusammen funktionieren.

Wichtig ist, zu verstehen, daß Sie mit Java viel mehr anfangen können als Applets zu erstellen. Java wurde als ausgereifte Programmiersprache entwickelt, mit der Sie alle möglichen Aufgaben ausführen und die gleiche Art von Problemen lösen können wie mit anderen Programmiersprachen, z. B. C oder C++. HotJava selbst, einschließlich aller Elemente der Vernetzung, Anzeige und Benutzeroberfläche, wurde in Java geschrieben.

Javas Vergangenheit, Gegenwart und Zukunft

Die Java-Sprache wurde von Sun Microsystems 1991 im Rahmen eines Forschungsprojekts zur Entwicklung von Software für Verbraucherelektronikgeräte wie Fernseher, Videorecorder, Toaster und andere Haushaltsgeräte entwickelt. Damals wurde mit Java das Ziel verfolgt, eine Sprache zu entwickeln, die klein, schnell, effizient und leicht auf vielfältige Hardwaresysteme portierbar ist. Das gleiche Ziel machte aus Java eine ideale Sprache zur Verbreitung ausführbarer Programme über das World-Wide Web und auch eine universelle Programmiersprache zur Entwicklung von Programmen, die bedienungsfreundlich und auf verschiedene Plattformen portierbar sind.

Bei Sun wurde die Java-Sprache in verschiedenen Projekten benutzt, erhielt aber bis zur Paarung mit HotJava nicht viel Aufmerksamkeit im kommerziellen Bereich. HotJava wurde 1994 innerhalb von Monaten als Programm zum Downloaden und Ausführen von Applets und als Musterbeispiel für komplexe Anwendungen, die mit Java geschrieben werden können, entwickelt.

Bei Drucklegung der englischen Ausgabe hat Sun die Beta-Version des Java Developer's Kit (JDK) freigegeben, den Werkzeugkasten zur Entwicklung von Java-Applets und -Anwendungen für Sun-Systeme, auf denen Solaris 2.3 oder höher läuft, sowie für Windows NT und Windows 95. Bis Sie dieses Buch durchgearbeitet haben, dürfte die Java-Entwicklung auch für andere Plattformen, entweder von Sun oder Drittanbietern, unterstützt werden.

JDK befindet sich noch in der Beta-Version und unterliegt daher einigen Änderungen bis zum offiziellen Release. Applets und Anwendungen, die Sie mit JDK und anhand der in diesem Buch enthaltenen Beispiele schreiben, funktionieren in künftigen JDK-Versionen eventuell anders. Da die Java-Sprache schon seit einigen Jahren existiert und in mehreren Projekten bereits angewandt wurde, ist die Sprache relativ stabil und robust. Wir gehen nicht davon aus, daß sie umfangreichen Änderungen unterzogen wird. Behalten Sie aber in allen Lektionen dieses Buches vor Augen, daß sie sich auf die Beta-Version stützen.

Die Unterstützung der Wiedergabe von Java-Programmen stiftet derzeit mehr Verwirrung als die Sprache selbst. Suns HotJava ist derzeit im Beta-JDK nicht enthalten. Die einzig verfügbare Version von HotJava ist eine ältere Alpha-Version. Tragischerweise funktionieren Applets, die mit der Alpha-Version von Java geschrieben wurden, nicht mit dem Beta-JDK und umgekehrt. Inzwischen dürfte Sun eine neuere Version von HotJava freigegeben haben, die das Sichten von Applets ermöglicht.

JDK enthält aber eine Anwendung namens Appletviewer, mit der Sie Ihre Java-Applets während des Schreibens testen können. Ein Applet, das im Appletviewer läuft, sollte auch in jedem javafähigen Browser laufen. Über Appletviewer lernen Sie heute noch mehr.

Was hält die Zukunft auf Lager? Abgesehen von der endgültigen Java-Freigabe von Sun haben andere Unternehmen Unterstützung für Java in ihren eigenen WWW-Browsern angekündigt. Netscape Communications Corporation hat bereits Java-Fähigkeiten in die 2er-Version des beliebten Web-Browsers Netscape Navigator angekündigt. Mit Netscape können Seiten mit eingebetteten Java-Applets angezeigt und wiedergegeben werden. Mit Unterstützung von Java in einem so beliebten Browser wie Netscape darf man bald Werkzeuge für die Java-Anwendungsentwicklung (Debugger, Entwicklungsumgebungen usw.) erwarten.

Warum Java lernen?

Der derzeit vorrangige Grund, Java zu lernen, und wahrscheinlich derjenige, warum Sie dieses Buch gekauft haben, ist, daß HotJava-Applets in Java geschrieben werden. Doch auch wenn das nicht der Fall ist, bietet Java im Vergleich zu anderen Programmiersprachen und -umgebungen viele Vorteile, durch die es sich für fast jede Programmieraufgabe eignet. Einige dieser Vorteile werden in diesem Kapitel beschrieben.

Java ist plattformunabhängig

Plattformunabhängigkeit ist einer der wichtigsten Vorteile, die Java gegenüber anderen Programmiersprachen zu bieten hat, insbesondere für Umgebungen, in denen auf verschiedenen Plattformen gearbeitet wird. Java ist sowohl auf der Quell- als auch der Binärebene plattformunabhängig.

Plattformunabhängigkeit ist die Fähigkeit eines Programms, mühelos von einem Rechnertyp auf einen anderen portiert werden zu können.

Auf der Quellebene haben Javas primitive Datentypen konsistente Größen auf allen Entwicklungsplattformen. Die in Java enthaltene umfangreiche Klassenbibliothek vereinfacht das Schreiben von Code, der von einer Plattform auf eine andere verlagert werden kann, ohne daß er für die jeweilige Plattform umgeschrieben werden muß.

Die Plattformunabhängigkeit hört aber nicht auf der Quellebene auf. Auch Java-Binärdateien sind plattformunabhängig und laufen unter verschiedenen Lösungen ohne Notwendigkeit, die Quelle, d. h. den Sourcecode, neu kompilieren zu müssen. Wie funktioniert das? Java-Binärdateien haben eigentlich eine Form namens Bytecode.

Bytecode ist ein Set von Anweisungen, das wie Maschinencode aussieht, aber nicht spezifisch an einen bestimmten Prozessor gebunden ist.

Beim Kompilieren eines in C oder einer anderen gängigen Sprache geschriebenen Programms übersetzt der Compiler normalerweise das Programm in Maschinencode oder Prozessoranweisungen. Diese Anweisungen passen spezifisch zum Prozessor eines Rechners. Das bedeutet, wenn Sie beispielsweise Ihren Code auf einem Pentium-System kompilieren, läuft das sich daraus ergebende Programm nur auf Pentium-Systemen. Möchten Sie das gleiche Programm für ein anderes System benutzen, müssen Sie sich einen Compiler für das betreffende System besorgen und den Sourcecode neu kompilieren. Abb. 1.2 zeigt das Ergebnis dieses Systems: mehrere ausführbare Programme für mehrere Systeme.

Die Sachlage ist anders, wenn Code in Java geschrieben wird. Die Java-Entwicklungsumgebung umfaßt zwei Teile: einen Java-Compiler und einen Java-Interpreter. Der Java-Compiler erzeugt Ihr Java-Programm nicht durch Maschinencode, sondern durch Bytecode.

Abbildung 1.2: Herkömmlich kompilierte Programme

Ein Java-Programm wird in einem sogenannten Bytecode-Interpreter ausgeführt, der seinerseits Ihr Java-Programm ausführt (siehe Abb. 1.3). Sie können den Interpreter selbst starten. Andererseits ist in HotJava und anderen javafähigen Browsern ein Bytecode-Interpreter integriert, der das Applet für Sie ausführt.

Wozu die Mühe, diese zusätzliche Schicht des Bytecode-Interpreters hinzuzufügen? Die Verfügbarkeit Ihrer Java-Programme im Bytecode bedeutet für Sie, daß sie nicht für ein spezifisches System ausgelegt sind, sondern auf jeder Plattform unter jedem Betriebssystem laufen können, so lange der Java-Interpreter verfügbar ist. Diese Möglichkeit der Verfügbarkeit einer einzelnen Binärdatei, die auf beliebigen Plattformen ausführbar ist, spielt im Zusammenhang mit Applets die entscheidende Rolle, weil das World-Wide Web selbst plattformunabhängig ist. Ebenso wie HTML-Dateien auf jeder Plattform gelesen werden können, lassen sich Applets auf jeder javafähigen Browser-Plattform ausführen.

Abbildung 1.3: Java-Programme

Der Nachteil der Verwendung von Bytecode drückt sich in der Ausführungsgeschwindigkeit aus. Da systemspezifische Programme auf der Hardware eingesetzt werden, für die sie kompiliert wurden, laufen sie wesentlich schneller als Java-Bytecode, der erst vom Interpreter verarbeitet werden muß. Andererseits ist die Geschwindigkeit bei vielen Java-Programmen eventuell nicht der entscheidende Faktor. Wenn Sie Programme schreiben, die schneller laufen sollen als der Java-Interpreter bieten kann, stehen Ihnen mehrere Lösungen zur Verfügung, darunter die Verknüpfung des nativen Codes mit Ihrem Java-Programm oder die Verwendung von Werkzeugen, um Ihren Java-Bytecode in nativen Code zu konvertieren. Beachten Sie, daß Sie bei beiden Lösungen die vom Java-Bytecode von Haus aus bereitgestellte Portabilität einbüßen. Sie lernen am 20. Tag mehr über diese Mechanismen.

Java ist objektorientiert

Für einige ist die objektorientierte Programmierung (OOP) eine reine Technik, um Programme zu organisieren, was mit jeder beliebigen Sprache erreicht werden kann. Das Arbeiten mit einer echten objektorientierten Sprache und Programmierumgebung ermöglicht Ihnen aber, die Vorteile der objektorientierten Methodologie und ihre Fähigkeiten des Entwickelns flexibler modularer Programme sowie die Wiederverwendung des Codes voll auszuschöpfen.

Javas objektorientierte Konzepte haben viel von C++, der Sprache, auf der es basiert, geerbt. Darüber hinaus hat es sich aber viele Konzepte aus anderen objektorientierten Sprachen entlehnt. Wie die meisten objektorientierten Programmiersprachen umfaßt Java eine umfangreiche Klassenbibliothek, die grundlegende Datentypen, Systemein- und -ausgabefähigkeiten und andere Utilities bietet. Diese grundlegenden Klassen sind Teil des Java-Entwicklungskits, das darüber hinaus Klassen hat, die Funktionen im Zusammenhang mit Vernetzung, üblichen Internet-Protokollen und Benutzeroberflächen unterstützen. Da diese Klassen-bibliotheken in Java geschrieben sind, sind sie genau wie alle Java-Anwendungen auf alle Plattformen portierbar.

Über Javas Objektorientierung lernen Sie morgen mehr.

Java ist leicht zu lernen

Abgesehen von der Portierbarkeit und Objektorientierung wurden mit dem anfänglichen Java-Design weitere Ziele verfolgt: Die Sprache sollte kompakt, einfach und damit leicht zu schreiben, zu kompilieren, zu debuggen und vor allem leichter zu lernen sein. Eine «kompakte» Sprache bedeutet, daß sie robuster ist, weil das potentielle Risiko, beim Programmieren schwer abzugrenzende Fehler zu machen, geringer ist. Trotz der Kompaktheit und des einfachen Designs weist Java eine Menge Leistung und Flexibilität auf.

Java wurde nach C und C++ modelliert. Ein Großteil der Syntax und der objektorientierten Struktur wurde von C++ entlehnt. Sind Sie mit C++ vertraut, fällt Ihnen das Erlernen von Java besonders leicht, weil Sie den gesamten Grundstock schon mitbringen.

Andererseits sieht Java zwar ähnlich aus wie C und C++, jedoch wurden die komplexeren Teile dieser Sprachen aus Java ausgeschlossen. Daher ist die Sprache einfacher, ohne daß Leistung geopfert wurde. In Java gibt es z. B. keine Pointer (Zeiger) und auch keine Pointer-Arithmetik. Strings und Arrays sind in Java echte Objekte. Die Speicherverwaltung erfolgt automatisch. Für einen erfahrenen Programmierer sind das Unterlassungen, an die er sich nur schwer gewöhnen kann. Für Anfänger oder Programmierer, die mit anderen Sprachen arbeiten, vereinfacht sich dadurch der Java-Lernaufwand.

Einstieg in die Java-Programmierung

Genug der Hintergrundinformationen! Wir verbringen des Rest des Tages mit dem Schreiben von zwei Java-Programmen: einer alleinstehenden Java-Anwendung und eines Applets, das Sie im Appletviewer (Teil von JDK) oder einem javafähigen Browser anzeigen können. Diese Programme sind zwar extrem einfach, vermitteln Ihnen aber einen ersten Einblick darüber, wie ein Java-Programm aussieht, wie es kompiliert wird und wie es läuft.

Beschaffen der Software

Um Java-Programme schreiben zu können, brauchen Sie selbstverständlich eine Java-Entwicklungsumgebung. Bei Drucklegung der englischen Ausgabe beinhaltete das Java Development Kit von Sun alles nötige, um Java-Programme zu schreiben. Das JDK ist für Sun-SPARC-Systeme mit Solaris 2.2 oder höher sowie für Windows NT und Windows 95 erhältlich. Sie können JDK u. a. von folgenden Quellen beziehen:

Das Java Development Kit befindet sich derzeit im Beta-Release. Inzwischen ist JDK eventuell für andere Plattformen verfügbar oder wird von anderen Unternehmen als Java-Entwicklungstool angeboten.

Obwohl Netscape und andere javakundige Browser eine gute Umgebung zum Wiedergeben von Java-Applets bereitstellen, bieten sie keinen Mechanismus zur Entwicklung von Java-Anwendungen. Deshalb brauchen Sie separate Werkzeuge. Im Grunde reicht also ein Browser nicht aus.

Applets und Anwendungen

Java-Programme werden in zwei Hauptgruppen gegliedert: Applets und Anwendungen.

Applets sind, wie Sie bereits wissen, Java-Programme, die über das World-Wide Web heruntergeladen und von einem Web-Browser auf der Maschine des Benutzers ausgeführt werden. Applets können nur in einem javafähigen Browser ausgeführt werden (jedoch mit einem Tool namens Appletviewer, über den Sie später mehr erfahren, auch gesichtet werden).

Java-Anwendungen sind allgemeinere, in der Java-Sprache geschriebene Programme. Zum Ausführen von Java-Anwendungen ist kein Browser nötig. Java kann sogar benutzt werden, um die meisten Anwendungen, die Sie normalerweise in einer herkömmlichen Sprache schreiben würden, zu entwickeln. HotJava ist selbst eine Java-Anwendung.

Ein Java-Programm kann ein Applet, eine Anwendung oder beides sein, je nach dem, wie Sie das Programm schreiben und welche Fähigkeiten es nutzt. Im Verlauf dieser ersten Woche schreiben Sie vorwiegend HotJava-Anwendungen. Dann wenden Sie an, was Sie gelernt haben, um in Woche 2 Applets zu schreiben. Sie möchten sicher schon mit Applets anfangen, aber haben Sie noch etwas Geduld. Alles, was Sie inzwischen aus dem Schreiben einfacher Java-Anwendungen lernen, trifft auch auf Applets zu. Außerdem ist es immer ratsam, ein paar Hintergründe zu lernen, bevor man mit dem Eingemachten beginnt. In Woche 2 entwikkeln Sie Applets en masse.

Entwickeln einer Java-Anwendung

Wir beginnen mit dem Entwickeln einer einfachen Java-Anwendung: dem klassischen Beispiel «Hello World», mit dem viele englische Sprachbücher beginnen.

Wie bei allen Programmiersprachen werden Ihre Java-Quelldateien in einem simplen Texteditor oder einem Editor, der Dateien in ASCII ohne Formatierungen abspeichert, geschrieben. Unter Unix eignen sich emacs, ped oder vi. Unter Windows tut's der gute alte Editor oder DOS Edit.

Starten Sie den Editor Ihrer Wahl und geben Sie das in Listing 1.1 aufgeführte Java-Programm ein. Tippen Sie dieses Programm genau wie aufgeführt in Ihren Texteditor ein. Achten Sie sorgfältig auf Klammern und Anführungszeichen.

Listing 1.1: Meine erste Java-Anwendung:


1:   class HelloWorld {

2:      public static void main (String args[] {

3:      System.out.println("Hello World!");

4:      }

5:   }



Die Zahl vor jeder Zeile ist Teil des Listings, nicht des Programms. Diese Zahlen dienen lediglich zur Bezugnahme auf bestimmte Zeilen, wenn an anderer Stelle erklärt wird, was im Programm alles passiert. Tippen Sie diese Nummern nicht in Ihr Programm ein.

Dieses Programm umfaßt zwei Teile:

Das gesamte Programm befindet sich innerhalb einer Klassendefinition, in diesem Fall HelloWorld.

Der Körper des Programms (in diesem Fall nur eine Zeile) ist in einer Routine namens main() enthalten. In Java-Anwendungen ist main() wie in einem C- oder C++-Programm die erste Routine des Programms, die ausgeführt wird.

Sie lernen im weiteren Verlauf mehr über diese Teile einer Java-Anwendung.

Wenn Sie mit der Eingabe des Programms fertig sind, speichern Sie die Datei ab. In Java erhalten Quelldateien bevorzugt den gleichen Namen wie die Klasse, die sie definieren, mit der Erweiterung .java. Nach dieser Konvention nennen Sie diese Datei HelloWorld.java.

Nun kompilieren wir die Quelldatei mit dem Java-Compiler. In Suns JDK heißt der Java-Compiler javac.

Stellen Sie zuerst sicher, daß sich das javac-Programm in Ihrem Ausführungspfad befindet, dann geben Sie javac und den Namen Ihrer Quelldatei ein:


javac HelloWorld.java



In diesem und allen weiteren Beispielen des Buches verwenden wir den Java-Compiler von Sun, der im JDK enthalten ist. Falls Sie in einer anderen Entwicklungsumgebung arbeiten, sehen Sie in der Dokumentation Ihres Paketes nach, ob damit Java-Programme kompiliert werden können.

Der Compiler sollte die Datei fehlerfrei kompilieren. Falls Sie Fehler erhalten, prüfen Sie, ob Sie das Programm genau wie in Listing 1.1 eingegeben haben.

Nachdem das Programm fehlerfrei kompiliert wurde, haben Sie eine Datei namens HelloWorld.class in dem Verzeichnis, in dem sich Ihre Quelldatei befindet. Das ist Ihre Bytecode-Datei. Sie können diese Bytecode-Datei jetzt mit dem Java-Interpreter ausführen. Der im JDK enthaltene Java-Interpreter heißt schlicht java. Er muß sich im gleichen Verzeichnis befinden wie das Java-Programm. Geben Sie java und den Namen der Datei ohne die .class-Erweiterung ein:


java HelloWorld



Haben Sie Ihr Programm korrekt geschrieben und kompiliert, müßte jetzt auf Ihrem Bildschirm die Zeichenkette "Hello World!" erscheinen.

Denken Sie daran, daß der Java-Compiler und der Java-Interpreter zwei verschiedene Dinge sind. Sie benutzen den Java-Compiler (javac) für die Java-Quelldateien, um .class-Dateien zu erstellen, und den Java-Interpreter (java) zur eigentlichen Ausführung Ihrer Klassendateien.

Entwickeln eines Java-Applets

Die Entwicklung eines Applets unterscheidet sich von der einer einfachen Anwendung, weil Java-Applets in einer Web-Seite mit anderen Seitenelementen zusammen ausgeführt und angezeigt werden. Daher müssen spezielle Regeln über ihr Verhalten beachtet werden. Aufgrund dieser besonderen Regeln für Applets kann die Entwicklung eines Applets (besonders der einfachen) komplexer sein als die einer Anwendung.

Um beispielsweise ein einfaches HelloWorld-Applet zu schreiben, müssen Sie nicht nur die Meldung an sich erstellen, sondern Platz für die Meldung schaffen und dann Grafikoperationen anwenden, um die Meldung auf dem Bildschirm zu zeichnen.

Wenn Sie die HelloWorld-Anwendung als Applet ausführen, wird die Meldung Hello World in einem speziellen Fenster oder in eine Logdatei ausgegeben, je nach dem, wie Bildschirmnachrichten im Browser eingerichtet sind. Sie erscheint nur am Bildschirm, wenn Sie im Applet Platz dafür einprogrammieren.

Im nächsten Beispiel schreiben Sie dieses einfache HelloWorld-Applet, plazieren es auf einer Web-Seite und sichten das Ergebnis.

Zuerst richten Sie eine Umgebung ein, damit Ihr javafähiger Browser Ihre HTML-Dateien und Applets finden kann. Die meiste Zeit werden Sie dann Ihre HTML-Dateien und Ihren Applet-Code im gleichen Verzeichnis führen. Das ist zwar keine Voraussetzung, vereinfacht aber die Verwaltung der Elemente. In diesem Beispiel verwenden Sie ein Verzeichnis namens HTML, das alle Dateien enthält, die Sie brauchen.


mkdir HTML



Öffnen Sie den Texteditor und tippen Sie Listing 1.2.

Listing 1.2: Mein HelloWorld-Applet:


1:   import java.awt.Graphics;

2:

3:   class HelloWorldApplet extends java.applet.Applet {

4:

5:      public void paint(Graphics g) {

6:         g.drawString("Hello World!", 5, 25);

7:      }

8:   }



Speichern Sie die Datei im HTML-Verzeichnis. Wie bei Java-Anwendungen benennen Sie die Datei wie die Klasse. In diesem Fall ist der Dateiname HelloWorldApplet.java.

Wichtiges über Applets? Da gibt es ein paar wichtige Aspekte:

Die import-Zeile am Dateianfang entspricht in gewisser Weise einer #include-Anweisung in C. Durch sie kann dieses Applet mit den JDK-Klassen interagieren, um Applets zu erstellen und Grafiken am Bildschirm zu zeichnen.

Die paint()-Methode zeigt den Inhalt des Applets am Bildschirm an. Hier wird die Zeichenkette Hello World ausgegeben. Applets nutzen mehrere Standardmethoden anstelle von main(), darunter init() zum Einleiten, start() zum Starten und paint() zum Anzeigen des Applets am Bildschirm. Sie lernen diese Dinge in Woche 2.

Jetzt kompilieren Sie das Applet wie vorher die Anwendung mit javac, dem Java-Compiler.


javac HelloWorldApplet.java



Wie bei Anwendungen sollten Sie jetzt eine Datei namens HelloWorldApplet.class im HTML-Verzeichnis haben.

Um ein Applet in eine Web-Seite einzubinden, verweisen Sie auf dieses Applet im HTML-Code für die betreffende Web-Seite. Hier erstellen Sie eine sehr einfache HTML-Datei im HTML-Verzeichnis (siehe Listing 1.3).

Listing 1.3: HTML mit integriertem Applet:


1:   <HTML>

2:   <HEAD>

3:   <TITLE>Hello to Everyone!</TITLE>

4:   </HEAD><BODY>

5:   <P>My Java Applet says:<BR>

6:   <APPLET CODE="HelloWorldApplet.class" WIDTH=150 HEIGHT=25>

7:   </BODY></APPLET>

8:   </HTML>



Sie beziehen sich in Ihren HTML-Dateien auf ein Applet mit dem <APPLET>-Tag. Sie lernen später mehr über <APPLET>. Im Augenblick sind zwei Dinge wichtig:

Sie verwenden das CODE-Attribut, um den Namen der Klasse, die das Applet enthält, zu bezeichnen.

Sie verwenden die Attribute WIDTH und HEIGHT, um die Größe des Applets zu bestimmen. Der Browser benutzt diese Werte zur Zuteilung des Raums, der für das Applet auf der Seite freigehalten werden muß. Hier wurde eine Box mit einer Breite von 150 und einer Höhe von 25 Pixeln definiert.

Speichern Sie die HTML-Datei in Ihrem HTML-Verzeichnis unter einem beschreibenden Namen (z. B. mit dem gleichen Namen wie Ihr Applet, d. h. HelloWorldApplet.html).

Jetzt sind Sie bereit, die Ergebnisse Ihres Applets zu betrachten. Um das Applet sichten zu können, brauchen Sie folgendes:

Benutzen Sie nicht die Alpha-Version von HotJava, um Ihre Applets anzusehen. Die mit Beta-JDK und höher entwickelten Applets können nicht in Alpha-HotJava angezeigt werden. Falls inzwischen keine neuere Version von HotJava verfügbar ist, benutzen Sie statt dessen diese.

Wenn Sie Ihre Applet-Dateien in einem javafähigen Browser wie Netscape ansehen, können Sie die Option Open Local... im File-Menü benutzen, um zur HTML-Datei zu navigieren, die das Applet enthält (nicht die Klassendatei, sondern die HTML-Datei öffnen). Sie brauchen auf dem Web-Server noch nichts zu installieren. Dies alles funktioniert auf Ihrem lokalen System.

Falls Ihr Web-Browser keine eingebauten Java-Fähigkeiten hat, können Sie Ihr Java-Applet mit dem Appletviewer-Programm ansehen. Um Appletviewer zu starten, geben Sie in der Befehlszeile einfach den Pfad zur HTML-Datei an:


appletviewer HTML/HelloWorldApplet.html



Sie können den Appletviewer zwar in dem Verzeichnis starten, in dem sich Ihre HTML- und Klassendateien befinden, müssen eventuell aber Appletviewer zuerst schließen, um das Applet erneut laden zu können. Starten Sie Appletviewer in einem anderen Verzeichnis (z. B. in der vorherigen Befehlszeile), können Sie Ihre Java-Applets ändern, neu kompilieren und dann die neuere Version mit dem Reload-Menü anzeigen.

Falls Sie den Browser verwenden, um das Applet anzuzeigen, sehen Sie jetzt in etwa die Anzeige von Abb. 1.4. Verwenden Sie Appletviewer, sehen Sie nicht den Text rund um das Applet (My Java Applet says...), sondern nur Hello World.

Abbildung 1.4: Das HelloWorld-Applet

Zusammenfassung

Heute haben Sie eine Grundeinführung in die Java-Sprache und ihre Ziele und Merkmale erhalten. Java ist eine mit C oder C++ vergleichbare Programmiersprache, mit der Sie viele verschiedene Programme schreiben können. Die häufigsten Verwendungen für Java sind derzeit Applets für HotJava, einen ausgefeilten WWW-Browser, der ebenfalls in Java geschrieben wurde. Applets sind Java-Programme, die als Teil einer Web-Seite heruntergeladen und ausgeführt werden. Applets können Animationen, Spiele, interaktive Programme und andere multimediale Effekte auf Web-Seiten erzeugen.

Javas Stärke liegt in seiner Portabilität, sowohl auf der Quell- als auch der Binärebene, in seinem objektorientierten Design und seiner Schlichtheit. Dank dieser Merkmale sind Applets möglich, machen aus Java aber auch eine ausgezeichnete Sprache zum Schreiben universeller Programme, die nicht in HotJava oder einem javafähigen Browser ausgeführt werden müssen. Diese universellen Java-Programme nennt man nicht Applets, sondern Anwendungen. HotJava ist selbst eine Java-Anwendung.

Sie haben an diesem Tag mit einem Beispiel-Applet und einer Beispiel-Anwendung experimentiert und ein Gefühl für die Unterschiede der beiden erhalten. Ferner haben Sie gelernt, wie Java-Programme entwickelt, kompiliert und ausgeführt werden. Im Fall von Applets haben Sie außerdem gelernt, wie sie in Web-Seiten eingebunden werden. Sie haben den Grundstock erworben, von dem aus Sie komplexere Anwendungen und Applets schreiben können.


Fragen und Antworten

F: Ich möchte HotJava als regulären Web-Browser verwenden. Sie haben heute nicht viel über HotJava erwähnt.

A: Der Brennpunkt dieses Buches ist die Programmierung in Java und in HotJava-Klassen, weniger die Verwendung von HotJava. Eine Dokumentation über die Verwendung von HotJava-Browsern ist in jedem HotJava-Paket enthalten.

F: Ich kenne mich gut mit HTML, aber weniger mit Programmierung aus. Kann ich trotzdem Java-Programme schreiben?

A: Ganz ohne Programmiererfahrung fällt es Ihnen sicherlich schwerer, in Java zu programmieren. Andererseits ist Java eine ausgezeichnete Sprache, um in die Programmierung einzusteigen. Wenn Sie ausreichend Geduld mitbringen, um die Beispiele und Übungen in diesem Buch durchzuarbeiten, dürften Sie das Lernziel genau so erreichen wie jemand mit mehr Erfahrung.

F: Laut der heutigen Lektion werden Java-Applets über HotJava heruntergeladen und auf dem Benutzersystem ausgeführt. Ist das nicht ein riesiges Sicherheitsloch? Was hält jemanden davon ab, ein Applet zu schreiben, das die Sicherheit meines Systems in Frage stellt oder gar auf meinem System Schäden anrichtet?

A: Das Java-Team von Sun hat sich umfassend mit dem Thema Sicherheit von Applets in javafähigen Browsern befaßt und verschiedene Kontrollen eingeflochten, damit solche bösen Dinge nicht passieren können, z. B.:

Darüber hinaus prüfen der Java-Compiler und -Interpreter den Java-Quellcode und den Java-Bytecode, um sicherzustellen, daß der Java-Programmierer keine hinterlistigen Tricks versucht.

Selbstverständlich können diese Kontrollen keine absolute Sicherheit gewährleisten, reduzieren das Potential feindlicher Applets aber beträchtlich. Sie lernen mehr über Sicherheitsfragen in einer späteren Lektion.

F: Ich habe Ihre Anleitungen zum Entwickeln eines Java-Applets strikt befolgt. Trotzdem erschien Hello World nicht nach dem Laden in HotJava. Woran kann das liegen?

A: Sicherlich haben Sie die Alpha-Version von HotJava. Leider gibt es zwischen der Alpha- und Beta-Version große Unterschiede. Deshalb können Beta-Applets (wie dieses hier) nicht in der Alpha-Version von HotJava angezeigt werden. Ebenso wenig können Alpha-Applets in Browsern, die Beta-Applets erwarten, angezeigt werden. Sie müssen entweder einen anderen Browser oder das im JDK enthaltene Appletviewer-Programm verwenden.


Copyright ©1996 Markt&Technik
Buch- und Software- Verlag GmbH
Alle Rechte vorbehalten. All rights reserved.

Schreiben Sie uns!

Previous Page TOC Index Next Page See Page