Toon posts:

[java] Vanuit ene applet andere applet starten..

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb twee applets, de eerste zorgt voor het invoeren van benodigde gegevens. Wanneer je op een knop drukt moet de tweede applet starten.
De tweede applet zorgt ervoor dat er een speelveld wordt gemaakt.

1e applet : Aanmelden.java
2e applet : Speelveld.java
code:
1
2
3
4
5
if (serversbeschikbaar.getSelectedItem() != null && textf_naamspeler.getText().length() != 0) {
      //Hier wordt het Speelveld gestart
      Speelveld speelveld = new Speelveld();
      speelveld.init();
      }

(dit komt vanuit de actionPerformed in Aanmelden.java)

Dit zou er voor moeten zorgen dat de tweede applet wordt opgestart.
Maar de tweede applet start niet op.. :(
Ik kom er niet meer uit :?

Verwijderd

Je kan ook gebruik maken van een frame i.p.v. een apparte applet.
Je maakt dan in het applet een nieuw frame(Speelveld) aan en laat deze zien.
Speelveld extends dan Frame i.p.v. Applet

Omdat een applet zijn eigen VM heeft kan er geen communicatie zijn tussen de twee applets(VM's)(of je wilt RMI gaan gebruiken).

Het frame dat je aanmaakt draait wel in de zelfde VM, dus kan er wel gecommuniceerd worden tussen het aanmeldscherm en het speelveld.

Verwijderd

Topicstarter
Op maandag 25 februari 2002 11:41 schreef DaMike het volgende:
Je kan ook gebruik maken van een frame i.p.v. een apparte applet.
Je maakt dan in het applet een nieuw frame(Speelveld) aan en laat deze zien.
Speelveld extends dan Frame i.p.v. Applet

Omdat een applet zijn eigen VM heeft kan er geen communicatie zijn tussen de twee applets(VM's)(of je wilt RMI gaan gebruiken).

Het frame dat je aanmaakt draait wel in de zelfde VM, dus kan er wel gecommuniceerd worden tussen het aanmeldscherm en het speelveld.
Volgens mij wil die comminucatie wel wanneer je argumenten meegeeft.
Maar waar het hier om draait is dat de ene applet de andere moet opstarten.
Dit zou toch moeten kunnen... toch :?

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

maar je hebt niet twee verschillende applets nodig, gewoon een nieuw frame in dezelfde applet, lijkt mij... dan wordt de communicatie dus een stuk eenvoudiger.

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Waarom doe je dat aanmelden en het spel niet gewoon in dezelfde applet. Lijkt me wel zo logisch eigelijk

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 02-08 20:09
Je kunt dit proberen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
import java.net.*; 

try 
{ 
getAppletContext().showDocument(new
URL("Applet2.html"), "target_window"); 
} 

catch(Exception e) 
} 
System.out.println("" + e); 
}

  • Xanthus
  • Registratie: Februari 2002
  • Laatst online: 11-07 12:45
Als je hem gewoon wilt toevoegen kan je denk ik wel met
add(speelveld);
Want een applet is een Component, maar als een applet zo gebruikt kan je beter een Panel of Canvas oid gebruiken.

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Om een 2de applet te laden moet je het volgende doen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
    try {
    Class class1 = Class.forName(appletToLoad);
    realApplet = (Applet)class1.newInstance();
    realApplet.setStub(this);
    setLayout(new GridLayout(1, 0));
    add(realApplet);
    realApplet.init();
    realApplet.start();
    validate();
    } catch(Exception exception) {
    System.out.println("Error loading applet");
    }

Have fun :)
Pagina: 1