JavaScript-Code aus Applet ausführen?

Status
Nicht offen für weitere Antworten.

javabar

Mitglied
Hallo!

Ich möchte nur ein Applet schreiben, das die installierte Java-Version prüft, wenn die Version ok ist, dann soll auf der Seite einen Link auf eine andere Seite freischalten, auf welcher eine neuere Java-Version benötigt wird.

Nach sowas lässt sich dummerweise schwer googlen.

'ne alternative Methode, fiel mir erst eben noch ein, wäre, wenn der Button selbst einJavaApplet ist, welcher nur dann klickbar ist, wenn die Java-Version ok ist.
 
Zuletzt bearbeitet:

L-ectron-X

Gesperrter Benutzer
Dazu solltest du dein Applet Java 1.1.8 kompatibel schreiben/kompilieren, damit möglichst viele/alle Clients dieses Applet ausführen können. Außerdem wäre eine Webseite gut, die zu einer Fehlermeldung weiterleitet, wenn das Applet nicht innerhalb von 5-10 Sekunden startet, denn für alle Browser (Browserunterscheidung) die passenden Tags einzubauen ist ziemlich müßig.
 

javabar

Mitglied
Etwa so?

[HIGHLIGHT="Java"]import java.applet.Applet;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.net.URL;
import java.util.StringTokenizer;

public class jvc extends Applet implements MouseListener {

private static final long serialVersionUID = 1L;

Image img0,img1;
int texty;
String text0,text1,href0,href1,version;
boolean versionok;
Font font;

public boolean checkVersion(String version) {
StringTokenizer st_ist = new StringTokenizer(System.getProperty("java.version"),"._");
StringTokenizer st_soll = new StringTokenizer(version,"._");
int size1 = st_ist.countTokens();
int size2 = st_soll.countTokens();
int l = size1<size2 ? size1 : size2;
int x1,x2;
for(int i=0;i<l;i++) {
x1 = Integer.parseInt(st_ist.nextToken());
x2 = Integer.parseInt(st_soll.nextToken());
if(x1<x2)
return false;
if(x1>x2)
return true;
}
return true;
}
public void init() {
String f0,f1,s;
text0="";
text1="";
href0="#";
href1="#";

f0="";
f1="";
s=getParameter("image0");
if(s!=null)
f0=s;
s=getParameter("image1");
if(s!=null)
f1=s;
text0=getParameter("text0");
href0=getParameter("href0");
text1=getParameter("text1");
href1=getParameter("href1");
try {
s = getParameter("texty");
texty = Integer.parseInt(s);
}
catch(Exception e) {
texty = getHeight()/2;
}
version=getParameter("version");
versionok = checkVersion(version);
if(versionok && href1!=null && !href1.equals("") || !versionok && href0!=null && !href0.equals(""))
setCursor(new Cursor(Cursor.HAND_CURSOR));
addMouseListener(this);


img0 = getImage( getDocumentBase(), f0 );
img1 = getImage( getDocumentBase(), f1 );
font = new Font("Arial",Font.PLAIN,12);
repaint();
}

public jvc() {

}

public void paint(Graphics g) {
int x;
g.setFont(font);
g.setColor(Color.black);
if(versionok) {
if(img1!=null) {
g.drawImage( img1, 0, 0, this );
if(text1 != null) {
x = (getWidth() - g.getFontMetrics().stringWidth(text1))/2;
g.drawString(text1, x, texty);
}
}
}
else if(img0!=null ) {
g.drawImage( img0, 0, 0, this );
if(text0 != null) {
x = (getWidth() - g.getFontMetrics().stringWidth(text0))/2;
g.drawString(text0, x, texty);
}
}
}

public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}

public void mouseReleased(MouseEvent e) {
if(versionok) {
if(href1!=null && !href1.equals(""))
try {
getAppletContext().showDocument(new URL(href1));
}
catch(Exception ex) {}
} else {
if(href0!=null && !href0.equals(""))
try {
getAppletContext().showDocument(new URL(href0));
}
catch(Exception ex) {}
}
}
}[/HIGHLIGHT]

Ich habe es gleich so programmiert, dass es durch <PARAM>s konfigurierbar ist.

image0 : Hintergrundbild, wenn Version nicht ok ist
image1 : Hintergrundbild, wenn Version ok ist
text0: Text, wenn Version nicht ok ist
text1: Text, wenn Version ok ist
href0: Link, wenn Version nicht ok (entweder keiner oder Link auf Java-Update-Seite)
href1: Link, wenn Version ok
version: die erforderliche Java-Version (z.B. 1.4 oder 1.6.0_12)

texty: Text-Position (Y-Wert)
textx gibt es hier nicht, der Text wird zentriert.
 
Zuletzt bearbeitet von einem Moderator:

L-ectron-X

Gesperrter Benutzer
Das würde ja voraussetzen, dass Java installiert und aktiviert ist.
Was soll denn passieren, wenn deshalb kein Applet funktioniert?

Dafür kann man eine Webseite mit Meta-Weiterleitung bauen.
 

javabar

Mitglied
[HIGHLIGHT="html4strict"]<applet ... >
<param ... />
<param ... />
<param ... />
Java nicht verfügbar
</applet>[/HIGHLIGHT]

Dann erscheint statt des Applets einfach der Text "Java nicht verfügbar", oder man fügt gleich einen Link ein:

<a href="http://www.java.com/de/download/">Java downloaden</a>

Viele Grüße

Egon Schmid
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Javascript, Nodejs, Express Web Tier 0
R JavaScript für Java Enterprise Entwickler Web Tier 1
D JSF Einbindung von Javascript Web Tier 1
J Session Servlet - JavaScript Web Tier 6
M JSP und JavaScript Kommunikation in MVC Pattern Web Tier 1
E Kann man ein Formular in JSP auch per Tastendruck ohne Javascript-Verwendung abschicken? Web Tier 2
B JSP JavaScript SQL Update Web Tier 5
A JSF Rücksicht auf nicht eingeschaltetes JavaScript nehmen Web Tier 2
V Mittels JavaScript Methode aufrufen Web Tier 23
A JSON von JavaScript an Servlet Web Tier 9
K JSP String[] Array nach Javascript Web Tier 4
C JSF Datenaustausch JSF zu Javascript Web Tier 12
J Facelets javascript compiler problem Web Tier 3
C JSON-Antwort an Javascript geht nicht Web Tier 7
J JSF JavaScript Probleme zwischen Tomahawk und Tiles!? Web Tier 2
S Per JavaScript Java ansteuern - Welche Technik? Web Tier 2
F selektieren mit javascript Web Tier 9
S Jsp: javascript und javamethode aufrufen Web Tier 17
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
H <form:input > javascript Web Tier 2
M html + jquery(javascript-framework): elegantes und flexibles Formulardesign Web Tier 5
J Servlet soll XML ausgeben und Javascript soll dieses einlesen Web Tier 3
F Meinungsumfrage Struts / Javascript Web Tier 3
J Managed bean und javascript kommunikation (JSF 2) Web Tier 2
2 JavaScript Status erkennen? Web Tier 3
Schandro JSP soll dynamische Anzahl an Parametern einer JavaScript-Function erzeugen Web Tier 8
V Eigene JavaScript und JSF (a4j) Web Tier 3
S JavaScript-Funktion aufrufen mit a4j-support?? Web Tier 3
pusteblume JavaScript mit Struts auslesen? Web Tier 3
T Ajax / Javascript Plugin für Eclipse Web Tier 1
G wert für hiddenfield per javascript setzten Web Tier 4
D Tapestry :: JavaScript - Libs import Web Tier 2
B JavaScript und JSF - Diashow Web Tier 9
nrg Java-Code in Taglib wird nicht richtig ausgeführt. Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
P No source code is available for type -GWT Error Web Tier 1
T Alternativ zu diesem Code??? Web Tier 6
J rich:modalpanel vom java-code aus öffnen und schliessen Web Tier 2
K "No source code is available"-Fehlermeldung mit EMF-Modell bei GWT Web Tier 2
W Java code aus JSP-File durch JSTL code ersetzen Web Tier 8
K JSP Login Code Web Tier 14
G Code in JSF-Seite Web Tier 7
K JSF und HTML-Code Web Tier 2
W Race-Conditions im folgenden Servlet-Code möglich? Web Tier 12
S Java Code in JSF Web Tier 10
S Probleme mit den Nav_rules und HTML code Web Tier 2
G MyFaces: HTML Ausgabe Code steuern Web Tier 8
M JSF - Bean aus SessionScope direkt im JSF Code auslesen Web Tier 1
K Http Status Code abfragen Web Tier 8
O Source-Code vom Tomcat kompilieren lassen Web Tier 6
O JSF Java Unsigned Applet PrivilegedActionException Problem Web Tier 2
A Anfänger-Frage Servlet/Applet/JSP Web Tier 0
H Applet wirft AccessControlException bei File von Servlet Web Tier 3
L Applet kann unter WEB-INF/classes nicht gefunden werden Web Tier 10
H JSP Class not found beim Applet-Start Web Tier 4
D Formular als Applet oder HTML Web Tier 6
F Applet und EL Web Tier 3
L Argumentübergabe von JSP nach Applet Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben