Application soll Applet starten

datenmuell

Grünschnabel
Hallo zusammen,

ich möchte gerne aus einer Application heraus ein Applet starten und diesem einen Parameter mitgeben. Leider passiert bei Ausführung der Application gar nichts.

So sieht der Aufruf in meiner Application aus:
Java:
		String test = "Hello World";

		HelloWorldSwingApplet applet = new HelloWorldSwingApplet(test);
		applet.init();
		applet.start();

So sieht mein Applet aus (vgl. http://java.sun.com/docs/books/tutorial/uiswing/components/applet.html):
Java:
import java.awt.BorderLayout;
import javax.swing.JApplet;
import javax.swing.JLabel;

public class HelloWorldSwingApplet extends JApplet {

	private static String test = null;

	// Konstruktor
	public HelloWorldSwingApplet(String teststring)
	{
		test = teststring;
	}
	
	public void init()
	{
	    try
	    {
	        javax.swing.SwingUtilities.invokeAndWait(new Runnable()
	        {
	            public void run()
	            {
	                createGUI();
	            }
	        });
	    }
	    catch (Exception e)
	    {
	        System.err.println("createGUI didn't successfully complete");
	    }
	}

	private void createGUI()
	{
		JLabel label = new JLabel(test);
		getContentPane().add(label, BorderLayout.CENTER);
	}

}

Es wird auch keine Fehlermeldung ausgegeben. Woran könnte das liegen?

Danke schonmal & Viele Grüße,
datenmuell
 
Moin,

da es sich bei einem Applet um keine Standalone-Applikation handelt, ist das ohne ein paar zusätzliche Anpassungen nicht umsetzbar.
Ein Applet setzt immer einen Browser voraus, in dem es angezeigt werden kann.
Was Du demnach machen könntest, wäre eine HTML-Datei vorfertigen, die Du mit Deiner Applikation ausühren lässt - siehe hierzu die Desktop-Klasse als einfachste Lösung.

Gruß,
Xan
 
Danke für die schnelle Antwort!

Wäre es mit der Desktop-Klasse demnach also möglich, meine Applikation sowohl als sozusagen Standalone auszuführen als auch bei Bedarf in eine HTML-Seite einzubetten? Das wäre nämlich genau das, was ich benötige.
 
Moin,

die Desktop Klasse adressiert den übergebenen Parameter nur an das dafür standardmäßig vorkonfigurierte Programm.
Das heißt also, wenn Du eine HTML-Datei angibst, wird höchstwahrscheinlich der Browser geöffnet - sofern keine andere Konfiguration vorliegt.
Bei einer jar-Datei wäre es demnach die JVM.

Für eine Standalone-Applikation hast Du ja eine ausführbare jar-Datei.
Das Applet startest dann halt über die HTML-Datei.

Gruß,
Xan
 
Hallo,

ich glaube, ich muss nochmal etwas weiter ausholen, damit ich mein Problem besser beschreiben kann.
Ich habe bereits eine fertige Applikation geschrieben: eine Art Downloadmanager, welcher bei Unterbrechung der aktuellen Verbindung die Downloads anhält, prüft ob eine andere Verbindung (z.B. WLAN oder UMTS) verfügbar ist, die Routingtabelle entsprechend ändert, die neue Verbindung aufbaut und die Downloads weiter fortführt.
Bisher habe ich das Interface zur Eingabe der Download-URLs und zur Übersicht der aktuellen Transfers in einer GUI, welche durch die Applikation gestartet wird. Diese GUI wurde durch Swing-Komponenten realisiert.
Da das ganze aber Teil eines größeren Projekts ist, soll diese GUI aber auch in eine HTML-Seite integriert werden können, während die ganze Programmlogik im Hintergrund abläuft. Es soll jedoch auch gewährleistet sein, dass ich die Applikation separat starten kann und weiterhin ein GUI erscheint.
Alles in ein Java-Programm zu packen, das sowohl als Application als auch als Applet fungieren kann (wie von HonniCilest genannt), wird nicht funktionieren, da meine Applikation auch Zugriffe aufs System vornehmen muss und später eher als Daemon im Hintergrund laufen sollte oder zumindest mit Root-Rechten ausgeführt werden muss.

Ich suche demnach eine Benutzeroberfläche, die sowohl gestartet wird, wenn ich meine Applikation starte, aber zusätzlich auch in eine HTML-Seite integriert werden kann. Gibt es da auch noch eine andere als von Xandro vorgeschlagene Lösung oder ist das anders nicht machbar?
 
Und wenn du 2 unabhängig voneinander GUI's realisierst? Eine eigenständige Anwendung und ein Applet, die mit dem Deamon kommunizieren?

Edit: Mir würde, wenn ich das richtig versteh, was du möchtest, auf Anhieb auch das Thema Datenbank einfallen. (siehe Anhang)
 

Anhänge

  • bsp.jpg
    bsp.jpg
    16,4 KB · Aufrufe: 24
Zuletzt bearbeitet:
Hey,

danke für die Antwort! Das mit den 2 unabhängigen GUIs wird wohl die einzige Lösung sein, die praktikabel ist. Dann werd ich das mal in Angriff nehmen...

Gruß,
datenmuell
 

Neue Beiträge

Zurück