Hi erstmal an alle :wink:
Habe ein kleines Problem mit Applets.
Grundproblem:
Möchte eine Swing-Fensteranwendung erstellen, welche als Applet läuft.
Das Applet soll durch einen HTML-Button gestartet werden und dann direkt das erste Swingfenster
erscheinen. Die aktuelle HTML-Seite darf nicht gewechselt werden.
Habe erstmal folgendermaaßen angefangen:
Einfaches JFrame Fenster
Applet Code
Hier die HTML-Seite
Das ganze funktioniert auch so ungefähr so, wie ich es mir vorgestellt habe, nur gibt es da 2 Probleme:
1. Problem
Ich arbeite mit dem JCreator 3.5 und dem jdk 1.5.0.3 und wenn ich den Code im Jcreator
mit der Applet-Ansicht zum Test laufen lasse, dann erscheint Problemlos das Jframe, aber in der
Console erhalte ich zusätzlich die Exception: "createGUI didn't successfully complete "
Funktionieren Tut es wunderbar. Liegt der Fehler an der verbuggten Jcreator 3.5 Version oder an meinem Code ?
Welcher Fehler könnte es sein ? Wenn ich kein JFrame aufrufe, sondern nur nen JLabel zum Beispiel
direkt aufs Applet zeichne, dann erscheint der Fehler nicht. Irgendwie will der Thread nicht, wenn ich nen JFrame benutze. Oder sollte man ein JFrame direkt mit Applet-Informationen beerben ?
2. Problem
Wenn ich den HTML-Button betätige, dann erscheint das Hauptfenster-JFrame direkt, genauso wie ich
es möchte, nur wird dabei die HTML-Seite gewechselt. Weiss jemand da eine andere Lösung ?
Will einfach sowas quasi wie nen Applet-Popup haben, wo direkt das HauptJframe angezeigt wird.
Das Applet sollte nicht direkt in der HTML-Seite eingebettet sein, sondern mit einem Schalter gestartet werden können.
Wenn das überhaupt möglich ist.
Wäre super wenn Ihr da ein paar Lösungsmöglichkeiten wisst. Vielleicht habe ich auch generell mit meiner Grundstruktur falsch begonnen und sollte anders Veerben/ableiten/implementieren ?
Könnt ihr mir vielleicht nen bisschen Beispielcode geben , wo einfach nen einfaches JFrame-Fenster
als Applet läuft, welches extern über einen HTML-Button gestartet wird.
Vielen Dank
Gruss von der Programmerfront
Finalbrain
Habe ein kleines Problem mit Applets.
Grundproblem:
Möchte eine Swing-Fensteranwendung erstellen, welche als Applet läuft.
Das Applet soll durch einen HTML-Button gestartet werden und dann direkt das erste Swingfenster
erscheinen. Die aktuelle HTML-Seite darf nicht gewechselt werden.
Habe erstmal folgendermaaßen angefangen:
Einfaches JFrame Fenster
Code:
import javax.swing.JFrame;
class MainWindow extends JFrame
{
public MainWindow(String title)
{
super(title);
setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);
}
}
Applet Code
Code:
import javax.swing.*;
public class MVIECalculator extends JApplet
{
MainWindow HauptFenster;
public void init()
{
try
{
javax.swing.SwingUtilities.invokeAndWait(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
catch (Exception e)
{
System.err.println("createGUI didn't successfully complete");
}
}
private void createAndShowGUI()
{
try
{
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
}
catch(Exception e)
{
System.err.println("setLookAndFeel didn't successfully complete");
}
HauptFenster = new MainWindow("Hauptfenster");
this.setContentPane(HauptFenster);
}
}
Hier die HTML-Seite
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<Head>
<Title>Calculator Applet</Title>
<script type="text/javascript">
function showApp()
{
document.open();
document.write ('<APPLET code = "MVIECalculator.class" width = "500" height = "300"> </APPLET>');
document.close();
}
</script>
</Head>
<Body>
<input type="button" value="Calculator starten" onClick="showApp()"/>
</Body>
</HTML>
Das ganze funktioniert auch so ungefähr so, wie ich es mir vorgestellt habe, nur gibt es da 2 Probleme:
1. Problem
Ich arbeite mit dem JCreator 3.5 und dem jdk 1.5.0.3 und wenn ich den Code im Jcreator
mit der Applet-Ansicht zum Test laufen lasse, dann erscheint Problemlos das Jframe, aber in der
Console erhalte ich zusätzlich die Exception: "createGUI didn't successfully complete "
Funktionieren Tut es wunderbar. Liegt der Fehler an der verbuggten Jcreator 3.5 Version oder an meinem Code ?
Welcher Fehler könnte es sein ? Wenn ich kein JFrame aufrufe, sondern nur nen JLabel zum Beispiel
direkt aufs Applet zeichne, dann erscheint der Fehler nicht. Irgendwie will der Thread nicht, wenn ich nen JFrame benutze. Oder sollte man ein JFrame direkt mit Applet-Informationen beerben ?
2. Problem
Wenn ich den HTML-Button betätige, dann erscheint das Hauptfenster-JFrame direkt, genauso wie ich
es möchte, nur wird dabei die HTML-Seite gewechselt. Weiss jemand da eine andere Lösung ?
Will einfach sowas quasi wie nen Applet-Popup haben, wo direkt das HauptJframe angezeigt wird.
Das Applet sollte nicht direkt in der HTML-Seite eingebettet sein, sondern mit einem Schalter gestartet werden können.
Wenn das überhaupt möglich ist.
Wäre super wenn Ihr da ein paar Lösungsmöglichkeiten wisst. Vielleicht habe ich auch generell mit meiner Grundstruktur falsch begonnen und sollte anders Veerben/ableiten/implementieren ?
Könnt ihr mir vielleicht nen bisschen Beispielcode geben , wo einfach nen einfaches JFrame-Fenster
als Applet läuft, welches extern über einen HTML-Button gestartet wird.
Vielen Dank
Gruss von der Programmerfront
Finalbrain