![]() | ![]() ![]() ![]() ![]() ![]() |
Java steuert JavaScript
Das Java-Applet "jsdemo.class" wurde mit der Option "MAYSCRIPT" eingebunden.
Damit wird dem Applet gestattet, auf JavaScript zuzugreifen.
Beschreibung
Die Laufschrift wurde als Java-Applet realisiert.
Über das Formular unterhalb der Laufschrift ist es möglich,
Erscheinungsbild und Inhalt der Laufschrift zu ändern.
Unterhalb des Formulars wiederum befindet sich ein weiteres Java-Applet.
Eine Anwendereingabe in das Textfeld wird vom Applet mit Hilfe von JavaScript
an das Formular weitergegeben.
Zusätzlich werden von JavaScript noch einige Meldungen in die "Java-Console"
(bei Netscape unter "Options / Show Java Console") ausgegeben.
Quelltext
<head>
<script language="JavaScript">
<!--
if(document.applets != null && java != null) {
var System=java.lang.System;
System.err.println("\nJetzt sind wir auf Seite 23\n");
} else {
System=null;
}
function add_text(dele) {
if(document.form1.text.value != "") {
if(System != null)System.err.println("add_text: "+
document.form1.text.value);
document.lauf.add_text(" +++ "+document.form1.text.value);
if(dele != null && dele)document.form1.text.value="";
}
}
//-->
</script>
</head>
<body>
<applet code="lauf.class" name="lauf" width="500" height="100">
<param name="text" value="ich bin ein Java-Applet">
<param name="font" value="Helvetica">
<param name="size" value="24">
<param name="step" value="5">
<param name="col" value="0000ff">
<param name="border" value="false">
</applet>
<p>
<form name="form1" onSubmit="return false;">
<select name="font"
onChange="document.lauf.set_font(document.form1.font.options[document.form1.font.selectedIndex].value);">
<option value="Helvetica" selected>Helvetica
<option value="TimesRoman">TimesRoman
<option value="Courier">Courier
</select>
<select name="size"
onChange="document.lauf.set_size(document.form1.size.options[document.form1.size.selectedIndex].value);">
<option value="12">12
<option value="14">14
<option value="18">18
<option value="24" selected>24
<option value="36">36
</select>
<select name="col"
onChange="document.lauf.set_col(document.form1.col.options[document.form1.col.selectedIndex].value);">
<option value="000000">schwarz
<option value="ff0000">rot
<option value="00ff00">grün
<option value="0000ff" selected>blau
<option value="ffff00">gelb
<option value="ff00ff">lila
<option value="00ffff">türkis
</select>
<br>
<input type="text" name=text size=64 onChange="add_text(true);">
<br>
<input type="button" value="Text anhängen" onClick="add_text(true);">
<input type="button" value="Text löschen" onClick="document.lauf.clear_text();">
</form>
<applet code="jsdemo.class" name="jsdemo" width="500" height="50" MAYSCRIPT>
</applet>
</body>
lauf.java
jsdemo.java
Erläuterung
Im oben demonstrierten Beispiel wurde das Applet "lauf.class" mit dem Parameter
name="lauf" in die HTML-Seite eingebunden. In dem zugehörigen
Java-Quelltext
werden eine Reihe von Methoden als public definiert:
public void set_font(String para)
public void set_size(String para)
public void set_col(String para)
public void add_text(String para)
public void clear_text()
Damit kann von JavaScript aus auf die Methoden zugegriffen werden;
z.B. document.lauf.add_text() greift auf die Methode "add_text" des Applets zu
und bewirkt, daß der als Parameter übergebene Text an die Laufschrift
angehängt wird.
In dem entsprechenden
Java-Quelltext
werden die Java-Methoden "eval" und "call" zum Zugriff auf
JavaScript verwendet. Mit "eval" wird ein komplette JavaScript-Anweisung
ausgeführt, mit "call" eine JavaScript-Function aufgerufen.
Referenz
[applets-array]
[LiveConnect]
call | Aufruf einer in JavaScript definierten function |
eval | Ausführung einer JavaScript-Anweisung |
getMember | Zugriff auf ein benamtes Element eines JavaScript-Arrays |
getSlot | Zugriff auf ein Element eines JavaScript-Arrays über den Index |
removeMember | entfernt ein benamtes Element aus einem JavaScript-Array |
setMember | weist einem benamten Element eine Eigenschaft zu |
setSlot | weist einem über den Index bezeichneten Element eine Eigenschaft zu |
toString | Umwandlung in eine string-Variable |
Nähere Informationen zu
LiveConnect finden Sie direkt bei
Netscape.
API:
netscape.javascript.JSObject
Auf der nächsten Seite beschäftigen wir uns mit Plugins und MimeTypes. |
![]() ![]() |