24.3 Java
Die von Sun (http://java.sun.com) maßgeblich entwickelte Programmiersprache Java gehört zu den beliebtesten Programmiersprachen – auch für das Web. Gründe für den Einsatz sind u.a. die zahlreichen unterstützten Internet-Protokolle und Sicherheitsfeatures sowie die Plattformunabhängigkeit. Doch im Moment befindet sich Java auf dem absteigenden Ast. Zumindest innerhalb des Webbrowsers als Java Applet ist der Einsatz nur noch in seltenen Fällen zu empfehlen, da Microsoft die Unterstützung von Java unter Windows XP entfernt hat und das notwendige Plug-in mehrere Megabyte groß ist.
Trotzdem gibt es aber immer noch die ein oder andere Plattform, für die kein »normales« Flash Player Plug-in verfügbar ist. In diesen Fällen ist Java eine adäquate »Ausweichtechnologie«, sollte wenigstens Java unterstützt werden. Denn es gab bis Flash MX drei verschiedene Java-Player von Macromedia. Leider unterstützten alle drei nur Flash Player-Filme im Flash 2-Format:
|
Der Flash Player Java Edition in der normalen Ausführung unterstützt alle Funktionen von Flash 2. |
|
Der Flash Player Java Edition in der kleinen (small) Ausführung unterstützt weder Bitmaps noch Sound, verhält sich aber sonst wie der Flash Player in der normalen Ausführung. |
|
Der Flash Player Java Edition in einer API-Variante kann verwendet werden, um Flash Player-Filme in Java Applications zu integrieren. |
Wo finde ich die Java Player für Flash?
Macromedia bietet den Java Player für Flash leider nicht mehr an. Aus diesem Grund benötigen Sie eine ältere Version der Flash-Entwicklungsumgebung (z.B. Flash 5), in deren Lieferumfang der Player enthalten ist.
Mike Scharg entwickelte ebenfalls einen Java Player. Die Version für Flash 3 erhalten Sie unter http://www.geocities.com/TimesSquare/Labyrinth/5084/flash/download.html.
24.3.1 Java Applet
Um Flash-Filme auch auf Computern abzuspielen, die keinen der verfügbaren Flash Player verwenden können, bietet sich der Flash Player Java Edition an. Es gibt zwei Varianten speziell für die Integration von Flash-Filmen in Internetseiten. Diese Versionen unterscheiden sich in der Größe und Funktionalität. Falls Sie auf Bitmaps und Sound verzichten können, sollten Sie die kleinere Variante wählen. Diese finden Sie innerhalb des Flash 5-Programmordners (im Lieferumfang seit Flash MX ist der Java Player nicht mehr enthalten) im Verzeichnis Players\Flash Player Java(tm) Edition\FlashSmall des Flash-Programmverzeichnisses. Die Variante, die alle Funktionen von Flash 2 unterstützt, finden Sie innerhalb des Flash-Programmordners im Verzeichnis Players/Flash Player Java(tm) Edition.
Flash-Film mit Java aus Flash 5 veröffentlichen
Zuerst sollten Sie sich im Menü Datei • Einstellungen für Veröffentlichungen vergewissern, dass als Vorlage für das HTML-Format »Java Player« gewählt ist.
Stellen Sie im Register Flash unter Datei • Einstellungen für Veröffentlichungen die Version auf »Flash 2«, da der Java Player zurzeit nur diese versteht.
3. |
Projekt veröffentlichen |
|
|
Das Einzige, was jetzt noch zu tun bleibt, ist die Veröffentlichung Ihres Projekts (Datei • Veröffentlichen) und alle Dateien (class) des gewünschten Java Players in dasselbe Verzeichnis zu kopieren, in dem der veröffentlichte Film samt HTML-Dokument liegt.
24.3.2 Java Application
Das Flash API bietet die Möglichkeit, einen Flash Player-Film innerhalb eines Java-Programms zu verwenden. Alle notwendigen Schritte, um einen Flash Player-Film (SWF) mit Java abzuspielen, sind im anschließenden Beispiel erläutert. Vergessen Sie nicht, Ihrer Entwicklungsumgebung mitzuteilen, wo die erforderlichen Klassen liegen (z.B. innerhalb des Flash 5-Programmordners im Verzeichnis FlashPlayers\Flash Player Java(tm) Edition\FlashAPI\FlashAPI.zip). Im Wesentlichen wird eine Darstellungskomponente benötigt, was in diesem Beispiel von einem Frame übernommen wird. Dann muss nur noch der Flash Player instanziiert und mit einer Datei »gefüttert« werden.
// Binde FlashAPI ein
import com.macromedia.flash.*;
// Binde Unterstützung für FileInputStream ein
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class JavaUndFlash extends Frame
{
public JavaUndFlash() //Konstruktor
{
// Frame (Fenster) wird erzeugt
super();
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
setSize(new Dimension(400,300));
setTitle("Java und Flash");
// Erzeuge Flash Player-Objekt
FlashAPI flashPlayer = new FlashAPI(new Flash());
// Setze den Flash Player in das Frame (Fenster)
flashPlayer.SetComponent(this);
// Lade Flash Player-Film (mit Fehlerbehandlung!)
try
{
flashPlayer.LoadScript(new
FileInputStream("d:\\JavaFlashTest\\meinfilm.swf"));
}
catch (Exception e)
{
System.out.println("Laden fehlgeschlagen !");
}
// Initialisiere Flash Player
flashPlayer.Startup();
// Zeige Frame (Fenster) an
show();
// Starte den Flash-Film
flashPlayer.Play();
}
protected void processWindowEvent(WindowEvent e)
{
super.processWindowEvent(e);
if(e.getID() == WindowEvent.WINDOW_CLOSING)
// Programm beenden
System.exit(0);
}
public static void main(String[] args)
{
new JavaUndFlash();
}
}
24.3.3 Referenzteil Java
Der Konstruktor und die Methoden des Java Players für Flash sind in diesem Kapitel in Tabellen zusammengefasst. Eine weitere Erläuterung finden Sie in der Dokumentation zum Flash API im Flash 5-Programmverzeichnis unter Players\Flash Player Java(tm) Edition\FlashAPI\FlashAPI.htm.
Tabelle 24.6
Flash Player Java Edition – Konstruktor
Konstruktor
|
Beschreibung
|
FlashAPI(Flash)
|
Erzeugt eine Instanz eines Flash Players. Es können beliebig viele Instanzen generiert werden.
|
Tabelle 24.7
Flash Player Java Edition – Konstanten
Konstante
|
Beschreibung
|
PAN_PERCENT
|
Prozentual verschieben.
|
PAN_PIXELS
|
Pixelweise verschieben.
|
QUALITY_AUTOHIGH
|
Hohe Darstellungsqualität. Falls die Rechenleistung nicht ausreicht, wird zur niedrigen Qualität gewechselt.
|
QUALITY_AUTOLOW
|
Niedrige Darstellungsqualität. Falls die Rechenleistung ausreicht, wird zur hohen Qualität gewechselt.
|
QUALITY_BEST
|
Beste Darstellungsqualität
|
QUALITY_HIGH
|
Hohe Darstellungsqualität
|
QUALITY_LOW
|
Niedrige Darstellungsqualität
|
Tabelle 24.8
Flash Player Java Edition – Methoden
Methode
|
Beschreibung
|
Back()
|
Geht ein Bild zurück.
|
CurrentFrame()
|
Gibt die Nummer des aktuellen Bildes als Ganzzahl zurück.
|
FlashVersion()
|
Gibt die Flash-Version als Ganzzahl zurück.
|
Forward()
|
Geht ein Bild vor.
|
FrameLoaded(int)
|
Gibt True zurück, falls das angegebene Bild bereits geladen ist.
|
GetBgColor()
|
Gibt die Hintergrundfarbe als Ganzzahl zurück.
|
GetBounds()
|
Gibt die Ausmaße des Flash-Films als Rechteck zurück.
|
GetComponent()
|
Gibt die Komponente zurück, in der der Flash-Film dargestellt wird.
|
GetTranslate()
|
Gibt die Verschiebung der Darstellung (Offset) als Punkt im Verhältnis zur Anzeigekomponente an.
|
GotoFrame(int)
|
Springt in das angegebene Bild.
|
HandleEvent(Event)
|
Das angegebene Ereignis (engl. Event) zwingt Flash dazu, sich neu darzustellen.
|
IsPlaying()
|
Gibt als booleschen Wert zurück, ob der Flash-Film abspielt.
|
LoadScript(InputStream)
|
Lädt einen Flash Player-Film (SWF) als InputStream in den Flash Player.
|
Paint(Graphics)
|
Zwingt den Flash Player, die Darstellung zu erneuern.
|
Pan(int, int, int)
|
Verschiebt die Darstellung des Flash-Films je nach Modus entweder pixelweise oder prozentual. Die Parameter sind x-Richtung, y-Richtung und der Modus des Verschiebens (PAN_PERCENT oder PAN_PIXELS).
|
PercentLoaded()
|
Gibt an, wie viel Prozent des Films in den Speicher geladen sind.
|
Play()
|
Spielt den Film ab.
|
Rewind()
|
Geht in das erste Bild zurück.
|
SetBgColor(int)
|
Setzt die Hintergrundfarbe des Flash-Films.
|
SetComponent(Component)
|
Bestimmt die Darstellungskomponente.
|
SetLoop(boolean)
|
Bestimmt, ob der Film in Schleife (True) oder nur einmal durchspielt (False). Standard ist True.
|
SetQuality(int, boolean)
|
Bestimmt die Darstellungsqualität (QUALITY_AUTOHIGH, QUALITY_AUTOLOW, QUALITY_BEST, QUALITY_HIGH oder QUALITY_LOW) und erzwingt eine Aktualisierung der Darstellung, falls True als zweiter Parameter gesetzt wird. Standard ist QUALITY_AUTOLOW.
|
SetSoundMute(boolean)
|
Schaltet den Ton aus, falls als Parameter True verwendet wird.
|
SetTranslate(int, int)
|
Setzt die Verschiebung der Darstellung (Offset) bezüglich der Darstellungskomponente in Pixeln. Der erste Parameter gibt die x-Richtung an, der zweite die y-Richtung.
|
SetZoomRect(int, int, int, int)
|
Vergrößert einen rechteckigen Ausschnitt des Films. Die Parameter stehen für links, oben, rechts und unten jeweils in Twips (1440 Einheiten pro Pixel).
|
Shutdown()
|
Beendet die Animation (und den zugehörigen Thread).
|
Startup()
|
Erzeugt die Animation (und den zugehörigen Thread).
|
StopPlay()
|
Hält die Animation an.
|
StopSound()
|
Stoppt alle aktuellen Sounds.
|
TotalFrames()
|
Gibt die Anzahl der Bilder des Flash-Films als Ganzzahl an.
|
Update(Graphics)
|
Zwingt den Flash Player, die Darstellung zu erneuern.
|
Zoom(int)
|
Vergrößert die Darstellung in x- und y-Richtung um die angegebene Prozentzahl.
|
|