[JAVA] Applet openen vanuit andere Class

Pagina: 1
Acties:

  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 15-04 14:59

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Hey ik ben al eventjes op zoek naar een antwoord maar ik kom er niet uit;

ik heb een Controller class die gewoon puur class loopt te spelen met een public static void main(String[] args) Nu heb ik hietnaast een GraphicalInterface,dit is een Applet, en ik probeer deze vanuit de controllerclass te openen.
Ik krijg het niet voor elkaar om het Applet te laten tonen vanuit de Controller, hoe los ik dit op?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Controller {
    private Graph GraphInterface;
    
    public Controller() {
    GraphInterface = new Graph(this);  
    }
    
    public static void main(String[] args) {   
    }


en de Graph is een
public class Graph extends Applet implements Runnable {}

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 03:55

Nick_S

++?????++ Out of Cheese Error

Probeer je hem als Applet te openen of als JFrame vanuit je main method?

Een Applet kun je alleen met veel moeite vanuit je applicatie openen. Een Applet is een extensie van Component en kun je dus gewoon aan een nieuw JFrame toevoegen.

Kijk maar eens goed naar de API van Applet, JApplet en Swing.

Goed, nog een code voorbeeldje:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class AppletFrame {
  public static void main(String[] args) {
    TheApplet myApplet = new TheApplet(); // define applet of interest
    Frame myFrame = new Frame("Applet Holder"); // create frame with title

    // Call applet's init method (since Java App does not
    // call it as a browser automatically does)
    myApplet.init();    

    // add applet to the frame
    myFrame.add(myApplet, BorderLayout.CENTER);
    myFrame.pack(); // set window to appropriate size (for its elements)
    myFrame.setVisible(true); // usual step to make frame visible

  } // end main
} // end class


En een linkje: http://www.woodger.ca/jv_appst.htm

[ Voor 55% gewijzigd door Nick_S op 08-12-2005 11:58 ]

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 15-04 14:59

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Ja gewoon als een Applet, de GraphInterface is eigenlijk het enige grafische dat er aan het hele project hangt.
Ik zal wel even zoeken naar frames en in de api's

  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 15-04 14:59

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
hmmz, ik krijg nu de fout

C:\Documents and Settings\Stephan\Mijn documenten\NHL\Java\Game OfLife Advanced\src\gameoflifeadvanced\Controller.java:18: non-static variable this cannot be referenced from a static context

bij bovenste regel van de code
code:
1
2
    Graph GraphInterface = new Graph(this); // define applet of interest 
    Frame myFrame = new Frame("Applet Holder"); // create frame with title


Ik heb de constructor van Frame vergeleken met de constructor van mij Graph, maar er is in code geen verschil en ik snap niet dat het frame wel gemaakt kan worden maar de Graph niet
code:
1
2
3
4
5
6
7
    public Graph(Controller MyC){
        MyControl = MyC; 
    }

public Frame(String title) throws HeadlessException {
        init(title, null);
    }



Na het weghalen van de Mycontroller bij het aanmaken van het Frame, werkt het applet.
dan maar even een extra functie aanmaken :P
bedankt

[ Voor 10% gewijzigd door Armageddon_2k op 08-12-2005 12:15 ]