tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
762
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    datenmuell datenmuell ist offline Mitglied
    Registriert seit
    Jun 2009
    Beiträge
    16
    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:
    Code java:
    1
    2
    3
    4
    5
    
            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/tutor.../applet.html):
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    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
     

  2. #2
    Xandro Xandro ist offline - Mistkerl -
    Registriert seit
    Oct 2005
    Beiträge
    255
    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
     

  3. #3
    datenmuell datenmuell ist offline Mitglied
    Registriert seit
    Jun 2009
    Beiträge
    16
    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.
     

  4. #4
    Xandro Xandro ist offline - Mistkerl -
    Registriert seit
    Oct 2005
    Beiträge
    255
    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
     

  5. #5
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Hi,

    Vielleicht hilft dirdieser Link ein wenig weiter:

    http://leepoint.net/notes-java/deplo...70applets.html
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  6. #6
    datenmuell datenmuell ist offline Mitglied
    Registriert seit
    Jun 2009
    Beiträge
    16
    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?
     

  7. #7
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    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)
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Application soll Applet starten-bsp.jpg  
    Geändert von HonniCilest (13.08.09 um 14:02 Uhr)
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  8. #8
    datenmuell datenmuell ist offline Mitglied
    Registriert seit
    Jun 2009
    Beiträge
    16
    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
     

Ähnliche Themen

  1. Applet aus Application heraus starten. Wie?
    Von gerritka im Forum Java
    Antworten: 4
    Letzter Beitrag: 26.11.08, 20:40
  2. Antworten: 2
    Letzter Beitrag: 31.07.07, 14:13
  3. Application --> Applet
    Von kodak im Forum Java
    Antworten: 4
    Letzter Beitrag: 12.06.06, 10:13
  4. Java Applet und Application
    Von Loki2 im Forum Java
    Antworten: 4
    Letzter Beitrag: 14.02.06, 12:29
  5. Antworten: 1
    Letzter Beitrag: 22.09.05, 11:17

Stichworte