Java Applets
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Veränderung (letzte Änderung)
(Autor, Normalansicht)
Verändert: 4c4
:Leider unterstützen viele Browser das Java Plugin in ihrer neusten Version nicht mehr. Deshalb können Applets nur noch mit älteren Browser Versionen ausgeführt werden!
|
:Leider unterstützen viele Browser das Java Plugin in ihrer neusten Version nicht mehr. Deshalb können Java-Applets? nur noch mit älteren Browser Versionen ausgeführt werden!
|
-
Einführung |  |
- Leider unterstützen viele Browser das Java Plugin in ihrer neusten Version nicht mehr. Deshalb können Java-Applets? nur noch mit älteren Browser Versionen ausgeführt werden!
- Java-Applets? sind kleine Java-Programme?, die in Webseiten integriert werden können. Die Integration erfolgt über HTML-Kommandos?, wobei dem Applet (ganz ähnlich wie einem Bild) eine bestimmte Rechtecksgröße zugeordnet wird.
- Java-Applets? werden von einem Java-Interpreter? im WebBrowser oder heute in der Regel von einem Java-Plugin? im Browser auf dem lokalen Rechner des Web-Benutzers? ausgeführt. Das Java-Plugin? ruft dann die "Java Virtual Machine" auf, welche den Java-Code? ausführt.
- Ich habe mal angefangen diese Seite zu Überarbeiten, da ich mich sehr für
Applets und Java-Technologie interessiere. Als ersten Schritt habe ich einmal eine Gliederung mit Überschriften zum Thema Applets eingefügt. Würde mich freuen, wenn mir jemand beim Auffüllen hilft.
- Gruß HermannWacker
Hello World Applet |  |
 | import java.applet.*;
import java.awt.*;
public class Hello extends Applet {
public void paint(Graphics g) {
g.drawString("Hello World!", 25, 50);
}
} |
|
|
- <applet code="Hello.class" width=300 height=200>
- Hier steht das Applet
- </applet>
Appletprogrammierung |  |
- Ein Java-Applet? hat kein Hauptprogramm, bzw. keine ihm zugeordnete main() Methode.
- Statt dessen gibt es die folgenden Hauptmethoden, welche durch die entsprechenden Events aktiviert werden. Der Anwender überschreibt diese Methoden, um bei den zugeordneten Events die gewünschte Funktionalität zu aktivieren.
- public void paint(Graphics g) - mit dieser Methode wird das Applet gezeichnet. Deshalb werden hier alle Grafik-Methoden? einfügen, die zum Neuzeichnen des Applets notwendig sind.
- init() - wird genau einmal aufgerufen, wenn das Applet erstmals in den Browser geladen wird.
- start() - wird jedesmal aufgerufen, wenn das Applet sichtbar wird.
- stop() - wird jedesmal aufgerufen, wenn das Applet verdeckt wird, z.B. weil das Browser-Fenster? von einem anderen Fenster überdeckt wird.
- destroy() - wird aufgerufen, wenn das Applet aus dem Hauptspeicher entladen wird.
Java Plugin |  |
- In der Regel wird von einem Browser heute kein Java-Interpreter? mehr bereit gestellt, sondern es wird ein Java-Plugin? für den Browser verwendet, welches die Java Virtual Machine (JVM) aufruft. Dadurch kann man die aktuellen Java-Implementierungen? verwenden. Microsoft ist z.B. im MS-Internetexplorer? mit seinem Java-Interpreter? nie über die Java-Version? 1.0 herausgekommen. Der schlechte Ruf von JavaApplets beruht in der Regel auf der Implementierung des Java-Interpreters? durch die Browserhersteller (z.B Netscape). Sun hat sich deshalb für eine Plugin-Technologie? entschlossen.
- Man kann ein Java-Plugin? für seinen Browser installieren und dann die aktuelle Java-Technologie? verwenden. Die frühen Probleme, die man mit Java-Applets? hatte, sollten damit behoben sein. Wenn man die die aktuelle Version der Java-Runtime-Environment? JRE verwendet, werden alle benötigten Plugins gleich mit installiert. Über den folgenden Link kann überprüft werden, ob die aktuelle Version der JRE installiert ist, und ob der verwendete Browser Zugriff auf diese Installation hat.
Java Installation Überprüfen
- Informationen über die Java-Plugin-Technologie? bekommt man über den folgenden Link:
Java-Plugin-Technologie
- Welche Plugins im Browser installiert sind kann man z.B. für den Firefox/Mozilla Browser sehr schön über meine Java Script-Seite? herausbekommen:
JavaScript und DHTML
Java Plugin 1.4.2 Developer Guide
- In der Regel ist es von Vorteil, wenn eine HTML-Seite?, welche ein Java-Applet? enthält, erkennt, ob ein Java-Plugin? im verwendeten Browser nachinstalliert werden muss, und die Installation des entsprechenden Java-Plugins? vorschlägt, wenn dieses nicht vorhanden ist.
- Ein solcher Algorithmus is nicht besonders leicht zu implementieren. Deshalb hat Sun den HTML Converter entwickelt, der diese Umwandlung des HTML-Codes? automatisch durchführt. Man fügt als Entwickler das Applet mit einem normalen Applet-Tag? ein. Der übrige Code wird vom HTML-Converter? eingefügt.
- Beispiel:
RGB Farbmixer Applet Auf dieser Seite wurde das Applet-Tag? mit dem HTML Converter verändert.
- Weitere Links:
More About HTML Converter
JApplet |  |
- JApplet ist die Swing Variante eines Applets. Leitet man sein Applet von der Klasse JApplet ab, so kann man auch die Java-Swing-Bedienelemente? in einem Applet verwenden. Für klassische Applets kann man die Grafik eines Applets nur mit dem AWT programmieren.
- Das große Problem bei JavaScript ist, daß jeder Browserhersteller JavaScript anders implementiert. Will man als Webdesigner JavaScript nicht nur für einen Browser entwickeln, so hat man in der Regel die Aufgabe, für jeden Browser die JavaScript-Funktionalität? speziell anzupassen. Eine weitere Herausvorderung ist, dass sich die JavaScript-Funktionalität? eines Browsers von Browserversion zu Browserversion ändert. Man muss im Extremfall dann noch eine versionsspezifische Anpassung durchführen.
- Beispiel:
Fraktalberechnung in einem separaten Fenster
- Im Beispiel arbeitet die JavaScript-Funktionalität? mit dem MS-Internetexplorer? und mit Firefox/Mozilla (aktuelle Versionen), da für diese eine spezielle BrowserWeiche? und JavaScript-Funktionalität? entwickelt wurde. Bisher arbeitet das JavaScript dieser Seite aber noch nicht mit dem Browser Opera.
Mozilla LiveConnect
- JavaScript im DseWiki
Sicherheit |  |
- Die Sicherheit einer Java-Applet-Anwendung? ist immer die Frage, wie sicher ist die verwendete "Sandbox" Technologie und die allem zu Grunde liegende Java Virtual Machine. Es stellt sich deshalb die Frage, wie sicher sind die einzelnen Implementierungen und Versionen. Mir sind für die aktuellen Versionen von SUN (Java-Plugin?) keine Probleme bekannt. Hier wäre es mal interessant, zu erfahren, ob da jemand aktuelle Informationen hat.
- Ob die im Browser verwendete Java Technologie aktuell ist läßt sich über den folgenden Link überprüfen:
Java Installation Überprüfen
Sicherheit bei Verwendung des Aktuellen Java-Plugin? von SUN |  |
- Bei Verwendung des aktuellen Java-Plugins? von SUN sollten keine Sicherheitsprobleme auftreten.
- Wenn Sicherheitsprobleme bekannt werden bitte berichten.
- Mit dem Java-Plugin? von SUN hat man auch immer die neueste Java-Technologie? zur Verfügung.
- Aber Vorsicht bei Signierten-Applets? in anderen Browsern ausgeführt, können diese den MS-Internetexplorer? manipulieren. Ein Browser fragt aber immer nach ob er ein signiertes Applet ausführen darf:
Heise Meldung Signierte Applets
- Man sollte also wissen, daß, wenn man die Ausführung eines signierten Applets erlaubt, dies nicht mehr an die Sandbox gebunden ist.
Sicherheit der Java-Implementierung? dem MS-Internetexplorers? |  |
- Microsoft verwendet eine eigene Java-Implementierung?. Diese unterstützt die aktuelle Java-Version? nicht.
- Ab und zu werden aber auch von MS Sicherheitslücken geschlossen.
Heise Meldung
- Man kann den Internet Explorer aber auch mit dem Java-Plugin? von SUN betreiben und hat dann die Aktuelle Java Version.
Java Installation Überprüfen
Sicherheit der Java-Implementierung? des Netscape-Navigators? |  |
- Der Netscape-Navigator? benutzt seine eigene Java-Implementierung?.
- Diese hat viel zum schlechten Ruf von Java-Applets? beigetragen.
- Man sollte in diesem Fall Applets ausschalten oder die Plugin-Technologie? von SUN verwenden.
- Es stellt sich auch die Frage ob der Netscape-Navigator? überhaupt noch weiter entwickelt wird?
Java Installation Überprüfen
Sicherheit von Java-Applets? im Opera-Browser? |  |
- Der Opera-Browser? benutzt die Java-Plugin-Technologie?
Java Installation Überprüfen
Links zum Thema Applet-Sicherheit? |  |
- Hostile Applets (Wie aktuell ist diese Information, welche Java-Version?? Gelten diese Gefahren für die aktuellen Java-Implementierungen??)
- Sind dies nicht die Probleme des Java-Interpreters? im Netscape-Browser??
Signierte Applets |  |
- Normalerweise haben Applets, die aus dem Netz geladen wurden, nur eingeschränkte Zugriffsmöglichkeiten auf die Resourcen des Systems, auf dem sie ausgeführt werden. Sie laufen in einer sogenannten "Sandbox", in der sie nur harmlose Sachen machen dürfen. Will man erreichen, dass Applets auch Zugriff auf geschützte Resourcen haben, so muss man alle zu einem Applet gehörende Dateien in einem Jar-File? verpacken und dieses Jar-File? dann signieren. Ein Browser fragt immer nach, ob er ein signiertes Applet ausführen darf. Also vorsicht, wenn man hier auf "Ok" drückt.
- Um ein Jar-File? signieren zu können, benötigt man zuerst ein Schlüsselpaar:
- keytool -genkey -alias testkey -dname "CN=Hans Mustermann, O=Test Verein, C=de"
- keystroke passwort: nullbock
- Ein Jar-Archive? signieren:
- jarsigner -signedjar outjar injar testkey
- Links zum Thema Sicherheit und signierte Java-Applets?:
Probleme mit Java Applets |  |
- Einige Probleme, die im Zusammenhang mit Java-Applets? auftreten können, habe ich auf meiner Java-Seite? gesammelt.
Java-Applets, Java-Plugin und Java Virtual Machine
Firefox 2.0 |  |
- Wie in Bugzilla berichtet wird, ist die mit Java SE 6.0u1 mitgelieferte Erweiterung Java-Konsole? nicht kompatibel zu Firefox. Java an sich funktioniert, jedoch ist innerhalb des Menüs Extras der Eintrag "Java-Konsole?" nicht verfügbar. Das Problem wird mit Erscheinen von Java SE 6.0u2 (J2SE6?.0.02) behoben sein und dann auf der Java-Website? zum Download zur Verfügung stehen. Sollten Sie bis zur Freigabe der offiziellen Java-Version? die Java-Konsole? dringend benötigen, können Sie auch ein aktuelles Java Snapshot-Release? auf eigenes Risiko installieren.
Java Applets Artikel in der deutschen Wikipedia.
Applets im Buch Java Insel
- JavaAppletsImWiki
- JavaThreads
Diskussion |  |
Fragen |  |
- 1.) Kann man SWT Grafik (aus dem Eclipse Projekt) in Applets verwenden?
- HermannWacker
- 2.) Mit Japplet lassen sich Swing Grafikkomponenten in Applets verwenden. Nun ist die Swing Software nicht Threadfest implementiert. Um ein Applet in dem Fall, wo es lange Rechnungen durchführt unterbrechbar zu machen ist es heufig notwendig mehrere Threads zu haben. Hat Jemand Informationen und Tipps zu diesem Thema. Ich sehe dies auch als großes Hinderniss ganze Applikationen in Applets aufzuhängen.
- HermannWacker
- Links zu diesem Thema findet man hier: SwingMultithreading
- 3.) Gibt es eine Methode, mit der man während der Laufzeit eines Applets abfragen kann, ob dieses signiert wurde?
- HermannWacker
Ältere Inhalte |  |
- Es gibt inzwischen neue Java-Versionen?. Die Frage stellt sich deshalb, ob die folgende Diskussion noch gültig ist?
- Sind Sicherheitsprobleme mit aktuellen Java-Implementierungen? bekannt?
- SicherheitsProblemeVonJavaApplets
- JavaApplets/ÄltereInhalte
Java 6 Update 10 |  |
Wesentliche Änderungen gab es mit Java 6 Update 10. Zwar soll das alte Plugin-Modell? noch verfügbar sein, aber man kann sich eigentlich nicht darauf verlassen, dass eine unter Patch 7 getestete Web-Anwendung? sich mit Patch 13 tatsächlich zuverlässig über das Web ausliefern lässt.
Grundidee bei den Änderungen: Applet-Technologie? und WebStart? wachsen zusammen. Man kann seine Anwendung leichter auf verschiedenen Wegen zum Anwender bringen.
Bei JavaFX kann man den Unterschied leicht sehen, wenn man die Stage draggable macht. Das folgende Sample sieht zwar im Browser ähnlich aus, funktioniert aber erst ab Update 10 korrekt:
- Die Frage die sich mir jetzt stellt ist, wie binde ich den jetzt ein Applet in eine HTML-Seite? ein, damit die aktuelle Technologie funktioniert? Bisher wurde ja das Object Tag, welches das Java-Applet? einbindet automatisch generiert. (Wenn ich das HTML validiere bekomme ich einige Fehlermeldungen, ausgelöst durch diesen tag. Standard konformes HTML währe nett.) Gruß HermannWacker
- Wenn ich ein JavaFX-Applet? mit Netbeans entwickle, generiert mir Netbeans eine Html-Seite?. Natürlich würde man die noch ändern wollen. Das wird von der IDE nicht berücksichtigt. Man kann kein Template angeben, in das die benötigten Passagen hineingeneriert werden.
KategorieJava KategorieWebDesign
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 13. August 2017 23:34 (diff))