| |
Bis hierher haben Sie
einen "Crash Kurs" Java mitgemacht: Sie kennen nun die allerwichtigsten
Grundlagen. Hier geht es vorallem darum, sich umzusehen, was
Java noch alles zu bieten hat. Also machen Sie in diesem Kapitel
eine Besichtigungs - Tour durch die Klassenbibliothek von
Java. Diese Tour soll Ihnen einen Überblick verschaffen über
das, was in Java schon vorhanden ist. In den folgenden Kapiteln werden
wir uns dann einige Sachen herausgreifen und genauer ansehen.
- Die Tour beginnt
bei der SDK Dokumentation, die sie schon einmal kennengelernt
haben. Öffnen Sie also wieder die Dokumentation auf eine
der drei damals vorgestellten Arten. Falls Sie nicht mehr wissen
wie, klicken Sie hier.
- Wählen Sie "API & Language
Documentation", "Java
2 Platform API Specification" so dass Sie folgendes Fenster sehen:

Sie
sehen die Übersicht (Overview) zum API (Application
Programmers Interface) Specification. Wir sind Application Programmers
und über das Programmers Interface haben wir Zugriff auf das,
was Java uns zur Verfügung stellt. Dieses etwas sind Klassen und
Interfaces mit ihren Methoden etc. Das Ganze ist wie schon früher
erwähnt
in Packages geordnet,
wobei diese wie Ordner eine hierarchische Struktur haben. Unterpackages
werden durch einen Punkt von ihren Superpackages getrennt.
Sie
sehen im Hauptframe die Zusammenstellung der Standard
- Packages. Das wichtigste
Package
ist java.
Es enthält die grundlegendsten Klassen. Später wurde es
ergänzt durch
das Package javax (x für
extended). Und schlussendlich gibt es Packages verschiedener
Open Source Organisationen, welche hier beigepackt wurden im Package org.
In der Spalte rechts von den Packagenamen sehen Sie jeweils eine
kurze Beschreibung.
- Ein Package sehen
Sie sich am besten an, indem Sie es im Frame oben links anklicken:
Klicken Sie auf java.awt.
- Die Klassen und
Interfaces dieses Packages sehen Sie im Frame unten links.Durch
einen Klick auf eine Klasse erhalten Sie im Hauptframe die Beschreibung.
Klicken Sie auf die Klasse Point. Wie zu erwarten, ist ein Point
ein Punkt in einem Koordinatensystem. Man kann seine Koordinaten
setzen und abfragen, man kann den Point aber auch verschieben, etc.
Viele Grafikmethoden arbeiten mit Points.
- Wir wollen uns
aber jetzt nicht in den Einzelheiten einzelner Klassen verlieren,
sondern uns mit einer Übersicht befassen, viel mehr sollen Sie
sich merken, in welchen Packages Sie suchen müssen, wenn Sie
etwas brauchen. Drucken Sie sich zuerst das Besprechungsblatt,
damit Sie sich eventuelle Fragen notieren können. Gehen Sie
dann die einzelnen Subpackages von java durch und sehen Sie meine
nachfolgenden Kommentare an:
java.applet:
Klasse
Applet, von welcher Applets abgeleitet werden. Hilfsklassen, insbesondere
für Bild und Ton, welche sehr einfach in Applets einzubauen sind.
java.awt:
Abstract Window Toolkit, enthält alles, was wir für einfache
Grafik brauchen. Klassen für raffiniertere Grafiken sind in den Unterpackages
von awt.
java.beans:
Beans (Bohnen) sind Programmteile, welche wie im Baukasten zu Applikationen
zusammengebaut werden können. Werden in grösseren Projekten verwendet.
java.io:
Input - Output, also der Transfer von Daten von und zur Aussenwelt, insbesondere
Dateien.
java.lang:
Das Hauptpackage. Vielleicht ist Ihnen aufgefallen, dass Sie bei Klassen
wie System nicht sagen mussten, wo sich diese befinden. java.lang
wird standardmässig importiert.
java.math:
Die normale Mathematik wie Winkelfunktionen etc. befindet sich nicht
hier, sondern in der Klasse Math im package java.lang. Im Package
java.math befinden sich Klassen für beliebig grosse bzw. beliebig
genaue Zahlen.
java.net:
Die Unterstützung von Java für Netzwerkverkehr. Da lassen sich Verbindungen
mit Servern aufbauen, aber auch sehr grundlegende Protokolle wie
TCP/IP verwenden.
java.nio:
?
java.rmi:
Remote Method Invocation. Applikationen können Methoden von andern Applikationen
im (Inter - ) Netz aufrufen. So lassen sich vernetzte Applikationen
programmieren.
java.security:
Sicherheit, wie's der Name sagt: Zertifikate, Schlüssel, etc.
java.sql:
Standard Query Language, die Standard - Datenbanksprache. Sie wird von
Java unterstützt, zu verschiedensten Datenbanksystemen können Verbindungen
aufgenommen werden.
java.text:
Bearbeitung von Text (Strings).
java.util:
Hilfsklassen und -methoden, die man sonst nirgends findet.
- Ganz am Schluss sehen Sie Packages,
die weder mit java, noch mit javax beginnen. Es handelt sich um Zusatzpackages,
die nicht von Sun selber stammen. Wer selber zusätzliche Packages
herstellt - und es gibt deren viele!!! - sollte sich an die hier
aufgeführte Konvention halten: org.omg.CORBA ist
eine Webadresse, nämlich CORBA.omg.org. Wenn wir am Deutschen
Gymnasium Packages erstellen, sollten diese also alle beginnen mit
ch.dgb. Die Konvention ist genial: Weil alle Adressen im Web eindeutig
sind, sind auch alle Package - Namen eindeutig. Vorausgesetzt man
hält sich an die Konvention.
Das war eine erste Tour durch die Java
Klassenbibliothek. Sie haben aber erst einen ganz kleinen Teil der
Dokumentation kennengelernt. Vielleicht ist Ihnen aufgefallen, dass
Teile der Dokumentation gar nicht "lokal", auf Ihrem PC,
gespeichert ist:
- Wählen Sie mit dem Browser
nochmals die Datei index.html im Ordner docs: In der Kolonne "location" wird
angegeben, wo die Dokumentation ist: "docs" ist lokal, "website" befindet
sich auf dem Server von Sun.
-
Wählen Sie
z.B. im Abschnitt "API & Language
Documentation" den Link "The Java Language Specification":
Sie lesen ab dem Server von Sun ein wunderbares Buch, welches
die Sprache Java in allen Details darstellt, geschrieben von
einem
der Entwickler von Java. Lesen Sie bitten nicht gerade das
ganze Buch - wir haben noch anderes vor! Das Buch ist auch
in Papierform erhältlich,
bei Amazon z.B. für EUR 42,56:
- Bei Sun ist aber noch viel mehr
zu finden. Die Startseite auf dem Java Server ist http://java.sun.com/.
Die Site von Sun ist riesig und verwirrlich. Greifen wir nur eine
Sache heraus:
- Hier finden
Sie z.B. ein sehr schönes Tutorial zu Java - Konkurrenz zu
meinem Text ;-) !
Jetzt sollen Sie auf einer zweiten
Tour das JDK selber etwas kennenlernen:
- Wählen
Sie mit Ihrem Browser den Hauptordner Ihrer JDK - Installation
- Dieser Ordner enthält das
gesamte JDK, das Sie jetzt immer verwendet haben:

- Im
Ordner "bin" sind all die Programme wie javac, java, appletviewer,
etc.
- Der
Ordner "demo" enthält eine ganze Reihe Demoprogramme,
die wir uns ganz am Schluss
noch anschauen.
- Im
Ordner "docs" enthält die gesamte Dokumentation
(muss speziell heruntergeladen werden!), welche Sie am Anfang
dieses
Kapitels angeschaut
haben.
- "include"enthält
C++ Header - Dateien, welche es ermöglichen, dass Java -
Applikationen C++ Programmteile verwenden können und umgekehrt.
- "jre" (=
Java Runtime Environment) kann auch allein heruntergeladen werden
und enthält alles was nötig ist um Java auszuführen.
- "lib" enthält
die Klassenbibliothek in übersetzter Form.
- "src" ist
ein riesiges Archiv, welches die Quelltexte der Klassenbibliothek
enthält. Wenn Sie Lust haben, können Sie das Archiv öffnen und
z.B. die Klasse Color aus java.awt anschauen. So haben die Entwickler
von Java definiert, was eine Farbe ist!
Zum Schluss unserer Tour
noch zu den Demos.
An Beispielprogrammen lernt man oft am besten. Also schauen Sie sich
die Demoprogramme an und merken Sie sich, welches Feature in welcher
Demo vorkommt. Überall sind die Quelltexte dabei, so dass Sie
nachsehen können, wie's gemacht ist.
- Browser unter "Datei
öffnen" wieder den Ordner des SDK suchen und hier "demo" öffnen. Sehen
Sie sich im Ordner "applets" etwas um, er enthält je
wieder in einem Ordner verschiedenste Beispielapplets von ganz
einfach wie z.B. NervousText über JumpingBox (erwischen Sie
das Quardat mit einem Klick?) bis zu Fractal, etc. Viel Vergnügen
und: Mit "The Source" können Sie sich jeweils den Quelltext
ansehen!
Nach dieser langen Rundumsicht
wieder etwas praktisches: Sie sollen ein Applet erstellen, welches auf
Grund der Angaben der Benutzer deren Body Mass Index ausrechnet und
meldet ob man über-,
unter- oder normalgewichtig ist. Ich stelle mir vor, dass Sie an Hand
dieser Aufgabe viele von den neuen Kenntnissen der letzten Kapitel
repetieren. Und in diesem Kapitel haben Sie ja gelernt, wo nachschauen,
wenn Sie etwas nicht wissen. Nachfolgend ein paar Hilfestellungen,
Schritt für Schritt:
- Erstellen Sie ein neues Projekt
vom Typ "Basic Java Applet" und nennen Sie es z.B. "BMI".
g.drawString() könnte schon
mal einen Titel schreiben.
Testen Sie das neue Projekt.
- Das Programm soll
Angaben des Benutzers übernehmen, auf Tastendruck die Berechnung
ausführen und dann das Resultat zeigen. Sie brauchen also sicher
eine Taste (Button) und Eingabefelder (TextField). Weiter würde ich
die Beschriftungen ("Ihr Gewicht in kg: ", etc.) als Label realisieren.
Ich schlage vor, dass Sie als erstes mal diese GUI Elemente erstellen.
Ich würde das alles in der Methode init() machen. Es ist halt alles
auf einer Zeile. Am Schluss kommen dann Ideen, wie
man
das
schöner
machen
kann.Testen Sie immer wieder jede kleine Erweiterung!
- Wenn Sie die Oberfläche haben,
können Sie die Taste programmieren (addActionListener...). Den Inhalt
eines TextField erhalten Sie mit seiner Methode getText(). Aber Achtung:
Diese Methode liefert einen String zurück. Der String muss in eine
Zahl, z.B. einen float umgewandelt werden. Für diese Umwandlung hat
die Klasse Float eine Methode parseFloat(). Bei mir sieht das dann
folgendermassen aus (Mein TextField heisst tmasse. Das Ergebnis von
getText() ist gerade der Parameter von parseFloat() ):
float masse = Float.parseFloat(tmasse.getText());
- Der BMI berechnet sich folgendermassen:
BMI = m / (h * h), wobei m = Masse (Gewicht) in kg und h = Höhe in
m.
- Das Ergebnis können Sie z.B.
mit einem Label herausschreiben. Sie können
zum Beispiel
am
Anfang ein
leeres Label machen und dann beim Tastendruck seinen Text ändern
mit der Methode setText(). Logischerweise erwartet diese Methode
den zu setzenden Text als Parameter. Denken Sie daran, dass man
mit + auch eine Zahl an einen String anhängen kann!
- Damit sollte Ihr Projekt schon
das machen, was es soll. Ab jetzt kommt Kosmetik. Bis hierher sieht
mein primitives Applet so aus:

Und hier ist es in Aktion:
Ideen für die Kosmetik:
- Das Applet
soll nicht den BMI angeben, sondern melden ob man Normalgewicht,
Übergewicht, etc. hat. Dazu brauchen Sie die folgende Entscheidungstabelle.
Denken Sie an if. Wenn Sie wollen, können Sie sich
auch mit case beschäftigen:
| Die BMI Skala: |
|
| BMI |
Kategorie |
| bis 18.5 |
Untergewicht |
| 18.5 bis 24.9 |
Normalgewicht |
| 25.0 bis 29.9 |
Übergewicht |
| 30.0 bis 34.9 |
Mässige Fettsucht |
| 35.0 bis 39.9 |
Schwere Fettsucht |
| über 40.0 |
krankhafte Fettsucht |
- Falls Sie die
GUI Elemente schöner anordnen möchten, brauchen Sie ein Layout Sehr
schön ist in der Dokumentation der Border Layout beschrieben: Suchen
Sie in der Dokumentation im Package java.awt die Klasse BorderLayout
und lesen Sie dort den Anfang der Einleitung. Ich denke, dass Sie
mit dem Beispiel durchkommen. Es gibt auch einen GridLayout, der
die GUI Elemente tabellenartig anordnet. Der Rolls Royce unter den
Layouts ist der GridBagLayout - auf eigene Gefahr!
Und hier wieder mal
ein Link, der zeigt, was man mit Java so alles machen kann. Aber achtung:
man kann süchtig werden ...
|
|