Java ist eine von Sun Microsystems entwickelte, vollkommen plattformunabhängige Programmiersprache mit spezieller Ausrichtung auf den Einsatz im World Wide Web. Die Sprache lehnt sich in Aufbau und Syntax an C/C++ an.
Java ist dazu geeignet, um Animationen, Simulationen, Echtzeitanwendungen, sowie interaktive Anwendungen wie Guided Tours, Spiele oder Kalkulationsanwendungen zu realisieren. All diese Dinge laufen im Anzeigefenster des java-fähigen WWW-Browsers ab.
Wichtige Eigenschaften von Java
o Objektorientiert: Java ist durchgängig objektorientiert und stellt dem Programmierer eine Fülle elementarer und komplexer Objekte bereit.
o Sichere Speicherverwaltung: Unter Java ist die Arbeitsspeicherverwaltung aus Programmierersicht wesentlich unkritischer als beispielsweise unter C. Es gibt keine durch Zeiger adressierten Speicherbereiche von unbestimmter Größe, sondern nur Speichervektoren von fest definierter Länge. Die fehlerarme Speicherverwaltung ist besonders wichtig, da Java-Programme ohne Portierungsaufwand in verschiedenen CPU-Umgebungen ablaufen sollen.
o Plattformunabhängige Programmdateien: Java-Programme werden wie herkömmliche Programme zu Objektcode compiliert, jedoch nicht in eine bestimmte Prozessor- oder Betriebssystem-Umgebung eingebunden, also nicht 'gelinkt'. Java-Programme laufen daher auf allen Plattformen, wenn ein Java-Objektcode-Interpreter installiert ist (bei WWW-Browsern ist dies die sogenannte 'Java-Konsole').
Javaprogramme sind nicht für einen realen und von System zu System unterschiedlichen Prozessor geschrieben, sondern nur für einen virtuellen Prozessor, die Virtual Machine. Diese Virtual Machine setzt auf das Betriebssystem eines Rechners auf und läuft somit zwischen realem Prozessor und dem Javaprogramm. Der Programmcode wird dann ausgeführt und an den Prozessor angepaßt. Somit kann ein Javaprogramm auf jedem System ausgeführt werden, auf dem eine Virtual Machine läuft.
Eine Java Applikation besteht nicht aus einer lauffähigen und direktausführbaren Datei, sondern aus einer Anweisungsfolge von sogenannten Bytecode. Dieser Code wird dann von dem Java Interpreter interpretiert und zur Ausführung gebracht. Um mit dem von Sun mitgeliefertem Interpreter eine Applikation zu starten, gibt man folgenden Befehl ein: java programmname
Die Datei programmname.class enthält den Bytecode, der vom Interpreter interpretiert und somit zur Ausführung gebracht wird.
Java's Aufbau und Syntax lehnt sich sehr stark an die Programmiersprachen C, bzw. C++ an. Programmierer sind somit in der Lage sich schnell und ohne großen Aufwand von C oder C++ auf Java umzustellen.
C++ |
Java |
Konstanten |
Konstanten:
final |
Funktions-Prototypen |
Reihenfolge der Methoden beliebig |
Zeiger, Referenzen |
Objektvariablen sind immer Referenzen |
boolsche Werte mittels Integer if (zahl=liefereWert()) |
boolean-Typ -> Konstanten True, False if((zahl=liefereWert())!=0) |
Bereichsauflösungs-Operator
:: BasisKlasse::mache(x); |
Punkt
auch nach dem Klassennamen |
Strichpunkt nach Klassendeklaration |
Kein Strichpunkt mehr |
Aufruf
des Basiskonstruktors mittels Initialisierer-Syntax |
Aufruf
von super im Konstruktorrumpf |
virtual |
automatisch späte Bindung ausser bei private,static,final-Methoen |
Überladen von Operatoren |
Überladen nicht mehr möglich |
Default-Parameter |
Keine Default-Parameter |
const int max = 100; |
final int max = 100; |
Initalisierung
direkt bei der Deklaration nicht möglich! |
Initalisierung
direkt bei der Deklaration möglich! |
Destruktor |
finalize |
Vererbung: |
Vererbung: |
Zugriffsschutz |
Zugriffsschutz |
Mehrfachvererbung |
Interfaces |
Arrays |
Arrays |
Strings |
Strings |
'Bekannteste' final-Klasse: String
Vorteil: Optimierungsmöglichkeit für Compiler (frühe Bindung, )
z.B.:
class X
public X (int i, int j)
Beispiel:
int iTab[];
iTab = new int[10];
for (int i=0; i < 10; i ++)
iTab[i] = i;
JavaScript ist kein direkter Bestandteil von HTML, sondern eine eigene Scriptsprache. Diese Sprache wurde jedoch eigens zu dem Zweck geschaffen, HTML-Autoren ein Werkzeug in die Hand zu geben, mit dessen Hilfe sich WWW-Seiten optimieren lassen.
JavaScript-Programme werden wahlweise direkt in der HTML-Datei oder in separaten Dateien notiert. Sie werden nicht - wie etwa Java-Programme - compiliert, sondern als Quelltext zur Laufzeit interpretiert, also ähnlich wie Batchdateien bzw. Shellscripts. Dazu besitzen moderne WWW-Browser wie Netscape oder Microsoft Internet Explorer entsprechende Interpreter - Software.
JavaScript ist dazu hervorragend geeignet, weil es eine vergleichsweise einfache Sprache ist, bei der viele Aufgabenbereiche einer 'großen' Programmiersprache fehlen, z.B. Dinge wie Arbeitsspeicherverwaltung oder Dateioperationen. Außerdem setzt JavaScript auf einer bestimmten Umgebung auf, nämlich auf einer anzuzeigenden oder angezeigten WWW-Seite.
<html>
<head>
<title>Test</title>
<script language='JavaScript'>
<!--
alert('Mein 1. JavaScript Beispiel');
//-->
</script>
</head>
<body>
</body>
</html>
Erläuterung:
Mit <script language='JavaScript'> leiten Sie einen Bereich für JavaScript innerhalb einer HTML-Datei ein (script = Quelltext, language = Sprache). Dahinter - am besten in der nächsten Zeile - sollten Sie mit <!-- einen Kommentar einleiten. Dadurch erreichen Sie, daß ältere WWW-Browser, die JavaScript nicht kennen, den folgenden JavaScript - Code ignorieren und nicht irrtümlich als Text innerhalb der HTML-Datei interpretieren. Im obigen Beispiel wird mit Hilfe von JavaScript ein Meldungsfenster mit dem Text 'Mein 1. JavaScipt Beispiel' am Bildschirm ausgegeben.
Am Ende eines JavaScript - Bereichs schließen Sie mit //--> den Kommentar und mit </script> den Bereich für den Programmcode.
Anmerkung:
Es gibt keine festen Vorschriften dafür, an welcher Stelle einer HTML-Datei ein JavaScript - Bereich definiert werden muß. Es ist unter JavaScript - Programmierern zur Gewohnheit geworden, einen solchen Bereich im Kopf der HTML-Datei, also zwischen <head> und </head> zu definieren. Dadurch ist am ehesten sichergestellt, daß der Code vom WWW-Browser bereits eingelesen ist und zur Verfügung steht, wenn er ausgeführt werden soll.
JavaScript - Code kann automatisch beim Einlesen der HTML-Datei ausgeführt werden. Das ist dann der Fall, wenn JavaScript - Befehle in einem JavaScript - Bereich außerhalb jeder selbst definierten Funktion stehen, so wie im obigen Beispiel. In solchen Fällen ist es manchmal auch erforderlich, den Script - Bereich innerhalb des HTML - Dateikörpers, also innerhalb von <body></body>, zu notieren. Zum Beispiel, wenn Sie am Ende der Datei mit JavaScript dynamisch Datum und Uhrzeit der letzten Anderung an der Datei schreiben wollen .
Beispiel 1: Zahl = 42; Beispiel 2: Quadrat = Zahl * Zahl; Beispiel 3: if(Zahl > 1000) Zahl = 0; Beispiel 4: alert('Das Quadrat von ' + Zahl + ' = ' + Ergebnis); |
Beispiel 1: if(Zahl > 1000) Beispiel 2: while(i <= 99) Beispiel 3: function SageQuadrat(x) Beispiel 4: function SagEinmaleins(x) alert(Ergebnis); } |
while(i <= 99) |
onAbort (bei Abbruch) onBlur (beim Verlassen) onChange (bei erfolgter Anderung) onClick (beim Anklicken) onDblClick (bei doppeltem Anklicken) onError (im Fehlerfall) onFocus (beim Aktivieren) onKeydown (bei gedrückter Taste) onKeypress (bei erfolgtem Tastendruck) onKeyup (bei losgelassener Taste) onLoad (beim Laden einer Datei) onMousedown (bei gedrückter Maustaste) onMousemove (bei weiterbewegter Maus) onMouseout (beim Verlassen des Elements mit der Maus) onMouseover (beim Überfahren des Elements mit der Maus) onMouseUp (bei losgelassener Maustaste) onReset (beim Zurücksetzen des Formulars) onSelect (beim Selektieren von Text) onSubmit (beim Absenden des Formulars) onUnload (beim Verlassen der Datei) javascript: (bei Verweisen) |
Eigenschaften: closed (geschlossenes Fenster) defaultStatus (Normalanzeige in der Statuszeile) innerHeight (Höhe des Anzeigebereichs) innerWidth (Breite des Anzeigebereichs) locationbar (URL-Adreßzeile) menubar (Menüleiste) name (Fenstername) outerHeight (Höhe des gesamten Fensters) outerWidth (Breite des gesamten Fensters) pageXOffset (Fensterstartposition von links) pageYOffset (Fensterstartposition von oben) personalbar (Zeile für Lieblingsadressen) scrollbars (Scroll-Leisten) statusbar (Statuszeile) status (Inhalt der Statuszeile) toolbar (Werkzeugleiste) |
Methoden: alert() (Dialogfenster mit Infos) back() (zurück in History) blur() (Fenster verlassen) captureEvents() (Ereignisse überwachen) clearInterval() (zeitliche Anweisungsfolge abbrechen) clearTimeout() (Timeout abbrechen) close() (Fenster schließen) confirm() (Dialogfenster zum Bestätigen) disableExternalCapture() (Fremdüberwachung verhindern) enableExternalCapture() (Fremdüberwachung erlauben) find() (Text suchen) focus() (Fenster aktiv machen) forward() (vorwärts in History) handleEvent() (Ereignis übergeben) home() (Startseite aufrufen) moveBy() (bewegen mit relativen Angaben) moveTo() (bewegen mit absoluten Angaben) open() (neues Fenster öffnen) print() (ausdrucken) prompt() (Dialogfenster für Werteingabe) releaseEvents() (Ereignisse abschließen) resizeBy() (Größe verändern mit relativen Angaben) resizeTo() (Größe verändern mit absoluten Angaben) routeEvent() (Event-Handler-Hierarchie durchlaufen) scrollBy() (Scrollen um Anzahl Pixel) scrollTo() (Scrollen zu Position) setInterval() (zeitlische Anweisungsfolge setzen) setTimeout() (Timeout setzen) stop() (abbrechen) |
<html> <head> <title>JavaScriptTest</title> <script language='JavaScript'> <!-- function Quadrat(Zahl) //--> </script> </head> <body> <form> <input type=button value='Quadrat von 3' onClick='Quadrat(3)'> </form> </body> </html> |
So schauts aus
<html> <head> <title>Sinn des Lebens zum Quadrat</title> <script language='JavaScript'> <!-- var Hinweis = 'Gleich werden Quadratzahlen ausgegeben'; alert(Hinweis); function SchreibeQuadrate() } // --> </script> </head> <body onLoad='SchreibeQuadrate()'> </body> </html> |
<html> <head> <title>Browser des Anwenders auslesen</title> <script language='JavaScript'> <!-- var BrowserName = navigator.appName; var BrowserVersion = navigator.appVersion; alert('Ah ja, Sie verwenden also den ' + BrowserName + ', und zwar in der Version ' + BrowserVersion); // --> </script> </head> <body> </body> </html> |
Browserdaten lesen - So schauts aus
<html> <head> <title>Geh hin wo Du herkommst</title> </head> <body> <a href='javascript:history.back();'>Geh hin wo Du herkommst</a> </body> </html> |
Geh hin wo du herkommst
<html> <head> <title>Bruttobetrag aus Nettobetrag errechnen</title> <script language='JavaScript'> <!-- function BruttoBetrag(Netto, Prozente) function SchreibeBrutto(Betrag, Prozentsatz) //--> </script> </head> <body> <form name='BruttoForm'> Nettobetrag: <input type=text name='NettoEingabe'><br> Prozentsatz: <input type=text name='ProzentEingabe'><br> <p>Kommabetrag mit Punkt eingeben!</p> <input type=button value='Brutto ermitteln' onClick='SchreibeBrutto(document.BruttoForm.NettoEingabe.value,document.BruttoForm.ProzentEingabe.value)'> <p> Ergebnis: <input type=text name='Ergebnisfeld'> </form> </body> </html> |
Bruttobetrag berechnen
<html> <head> <title>User checken</title> <script language='JavaScript'> <!-- var Passwort = 'Pamela'; var UserEingabe = ''; var Zaehler = 0; while((UserEingabe != Passwort)&&(Zaehler <= 3)) if(UserEingabe != Passwort) history.back(); else document.location.href='geheim.htm'; // --> </script> </head> <body> </body> </html> |
Java - Applets
(applet = application snippet = Anwendungsschnipsel)
Java-Programme, die für den Einsatz im Internet gedacht sind, heißen Applets. Sie können Java-Applets in HTML-Dateien einbinden. Die Bildschirmausgaben bzw. die Interaktionen zwischen Anwender und Programm finden dann im Anzeigefensters des WWW-Browsers statt. Natürlich wird für die Ausführung des Applets ein javafähiger Browser benötigt.
Um selbst ausführbare Java-Applets erstellen zu können, brauchen Sie den Java Developer's Kit. Diesen Developer's Kit erhält man auf der Homepage von Sun Microsystems. Es sind verschiedene Versionen für Unix und Windows 95 bzw. Windows NT verfügbar. Der Kit enthält alle Klassenbibliotheken der Programmiersprache Java, einen Applet-Viewer und einen Compiler, der von der Unix-Shell- bzw. DOS-Shell aus gestartet wird.
Bei einem Java-Applet, das in einer HTML-Datei im WWW referenziert ist, wird der ausführbare Programmcode in den Arbeitsspeicher des aufrufenden Rechners geladen und dort vom Java-Interpreter des WWW-Browsers ausgeführt. Neben einem Compiler, der speziell Java-Applets zum Einsatz im WWW erzeugt, gibt es im Java Developer's Kit aber noch einen Compiler, der internet-unabhängige Programme für beliebige PCs oder andere Software-Träger erzeugt. Dieser Compiler erlaubt alle Möglichkeiten, um richtige Software mit zu erstellen.
Java - Applet - Beispiel
<applet code='AnimText' codebase='../' alt='Text'> <param name=text value='Dieser Text wird animiert dargestellt'> <param name=type value=wave> <param name=bgcolor value=255:10:30> <param name=fgcolor value=white> <param name=style value=bold> <param name=min value=14> <param name=max value=48> </applet> |
Mit <applet > leiten sie ein Java-Programm auf einer HTML-Seite ein.
code='appletname' gibt den Dateinamen des auszuführenden Java-Programmes an. Angabe kann mit oder ohne Erweiterung erfolgen.
codebase='../' gibt das Verzeichnis an in dem das Applet liegt. Wenn Applet und HTML-Datei in dem gleichen Verzeichnis liegen, dann kann das Attribut weggelassen werden.
alt='Text' Text wird angezeigt, wenn der Browser das Applet nicht ausführen kann.
Zwischen dem einleitenden Tag und dem abschließenden notieren Sie in vielen Fällen Parameter, die dem Programm beim Aufruf übergeben werden. Welche
Parameter ein Java-Applet erwartet, entnehmen Sie der Dokumentation zu dem Applet. Jeder Parameter wird durch angegeben (param = Parameter,
value = Wert). Hinter name= geben Sie den Namen des Parameters an. Hinter value= geben Sie den gewünschten Wert des Parameters an, der dem Programm übergeben werden soll.
Beachten Sie dabei die Regeln für Attribute in HTML-Tags.
<applet code='AnimText.class' width=300 height=50 id=20> <param name=text value='Dieser Text wird animiert dargestellt'> <param name=type value=wave> <param name=bgcolor value=255:10:30> <param name=fgcolor value=white> <param name=style value=bold> <param name=min value=14> <param name=max value=48> </applet> |
Mit width= [Pixel/Prozent] bestimmen Sie die Anzeigebreite des Java-Applets, mit height= die Höhe.
Mit align= [Pixel] können Sie ein Java-Applet beschriften oder Text um das Objekt fließen lassen. Mit align=top richten Sie einen nachfolgenden Text obenbündig zu Applet aus, mit align=middle mittig, und mit align=bottom untenbündig. Mit align=left können Sie nachfolgende Elemente rechts um das Java-Applet lassen, mit align=right richten Sie das Applet rechtsbündig aus und nachfolgende Elemente fließen links um das Applet.
Mit
id= [Pixel] bestimmen Sie den
horizontalen Abstand des Java-Applets zu seiner Umgebung, mit vspace=
public void paint(Graphics g)
public void setString(String aString)
Hier
sehen Sie den Quellcode eines Java-Applets, das einen Text am Bildschirm
ausgibt.
Mit public void setString(String aString)
geben Sie den definierten Text am Bildschirm aus.
<html><head><title>Test</title> </head><body> <applet code='hallo.class' name='Hallo' width=150 height=25> </applet><br> <script language='JavaScript'> <form name='Eingabe'> <input name='Text'> <input type=button value='Test' onclick='document.Hallo.setString(document.Eingabe.Text.value)'> </form> </script> </body></html> |
Im zweiten Teil des Beispiels wird angenommen, daß der Quellcode aus dem ersten Teil des Beispiels mit dem Java-Compiler zu einem Java-Applet mit dem Namen hallo.class compiliert wurde. Dieses Java-Applet wird in der HTML-Datei mit dem <applett>-Tag eingebunden. Dabei erhält das Applet mit name= den Namen 'Hallo'.
Unterhalb davon wird ein Formular mit einem Eingabefeld und einem Button definiert. In dem Eingabefeld läßt sich ein Text eingeben. Beim Klick auf den Button wird der eingegebene Text an das Java-Applet 'gesendet', und zwar so, daß der Text, den das Applet anzeigt, durch den eingegebenen Text ersetzt wird.
Dazu wird das Applet mit document.Hallo angesprochen. Dahinter wird keine JavaScript-Methode notiert, sondern direkt eine Methode aus dem Quellcode des Java-Applets, nämlich sie Methode setString(). Diese Methode erwartet als Parameter eine Zeichenkette (siehe Quellcode des Java-Applets). Das JavaScript übergibt als Zeichenkette den Wert aus dem Eingabefeld des Formulars.
Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen