Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


7.3.2

Applikationen


Für die Einbindung von Grafiken in Applikationen ist in der Klasse java.awt.Toolkit die Methode getImage() definiert. getImage() erwartet als Parameter einen String, der einen Pfad zur Bilddatei darstellt. Das Einbinden eines Bildes erfolgt dann z. B. durch
Image img;
img = Toolkit.getDefaultToolkit().getImage("icon.gif");
In diesem Beispiel wird das zu ladende Bild relativ zum Arbeitsverzeichnis der Java-Applikation angegeben. Es ist jedoch auch zulässig, einen absoluten Pfad anzugeben. Bevor die Methode getImage() aufgerufen werden kann, muss zunächst ein Verweis auf das aktuelle Toolkit-Objekt ermittelt werden. Das geschieht über die statische Methode getDefaultToolkit(), die selbst in der Klasse Toolkit definiert ist. Toolkit definiert eine zweite getImage()-Methode, die als Parameter eine URL besitzt. Hierdurch ist es auch in Applikationen möglich, Bildquellen zu nutzen, die nur über Netz erreichbar sind.

Mit [1.2]dem JDK 1.2 wurde in der Klasse Toolkit zusätzlich die Methode createImage() eingeführt. Auch createImage() liefert bei Angabe einer URL oder eines Dateinamens ein Image-Exemplar zurück. Der Unterschied zu getImage() besteht darin, dass getImage() gepuffert arbeitet, createImage() jedoch nicht. Wird bei der Verwendung von getImage() zweimal hintereinander dieselbe Bilddatei angefordert, muss sie nur einmal geladen werden. Beim zweiten Ladevorgang ist sie bereits im Speicher und wird von dort als Image-Exemplar zurückgeliefert. Dadurch kann man Bilder in einer Anwendung auf einfache Weise wiederverwenden. Bei createImage() wird bei jedem Aufruf hingegen jedesmal ein neues Image-Exemplar erzeugt. Wenn sich die Bilddaten auf der Platte während der Laufzeit der Anwendung ändern oder dynamisch erzeugt werden, kann sich createImage() als die bessere Alternative erweisen, da die Bilddaten bei jedem Aufruf auch wirklich neu geladen werden.

Die [1.2]Einbindung von Sound in Applikationen ist erst seit dem JDK 1.2 möglich. Bis einschließlich JDK 1.1 war die Integration von Sound nur über den AppletContext möglich, auf den Applikationen keinen Zugriff haben (das Interface wird vom Browser implementiert). Deshalb wurde in der Klasse java.applet.Applet eine neue statische Methode newAudioClip() definiert. Diese Methode erhält ein URL-Objekt als Parameter, das den Ort einer Audiodatei speichert.
AudioClip clip;
clip = Applet.newAudioClip(new URL("file:/sound/clip.au"));
Dieser Codeausschnitt bindet einen AudioClip ein, der in der Datei sound.au gespeichert ist. Der Umgang mit dem zurückgelieferten AudioClip kann dem vorigen Abschnitt entnommen werden. Das direkte Abspielen von Sound-Dateien, wie es bei Applets mit play() möglich ist, funktioniert bei Applikationen nicht so.

Bei der Einbindung von Grafiken und Bildern bei Applikationen besitzt das Java-API eine kleine Inkonsistenz. Während die Einbindung von Grafiken sowohl über den Dateinamen als auch über eine URL möglich ist, können Sound-Dateien nur über eine URL angegeben werden. Auch die Definition der Methoden selbst ist in unterschiedlichen Klassen zu suchen: newAudioClip() in der Klasse Applet, getImage() in der Klasse Toolkit.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.