# Frame oder JFrame von einem Applet aus starten



## Dr. Morv (4. Apr 2005)

Ich würde gerne einen Frame oder JFrame starten. Kann man das aus einem Applet heraus starten, z.B. eine Unterklasse eines Frames initialisiseren? Oder kann ich irgendwie anders die JVM starten, ausser durch einen Browser? Ich habe bisher die JavaEditor VM benutzt, musste aber feststellen, dass sie ziemlich langsam ist und darüber hinaus noch kleine Macken hat.


----------



## L-ectron-X (4. Apr 2005)

Schreibe einfach folgendes an der Stelle, an der ein Frame geöffnet werden soll:

```
MeinFenster fenster = new MeinFenster();
fenster.setVisible(true);
```
Erzeuge eine Instanz deiner Fensterklasse und mach sie sichtbar.


----------



## Sky (5. Apr 2005)

L-ectron-X hat gesagt.:
			
		

> ```
> MeinFenster fenster = new MeinFenster();
> ```


*MeinFenster* ist dabei eine Ableitung von Frame oder JFrame. ;-)



			
				Dr. Morv hat gesagt.:
			
		

> Oder kann ich irgendwie anders die JVM starten, ausser durch einen Browser?


Bei Applets: ja, mit dem *appletviewer*, ansonsten (main-Methode muss vorhanden sein) mit java <progname>.


----------



## Scotty (24. Apr 2005)

ich stellte mir gestern die gleiche frage: wie kann ein frame ins applet geladen werden?! applet ist ja bekanntlich eine abstraktion von panel, ich kann also nicht einfache einen frame adden, wie ich lustig bin. in den demos hab ich aber gesehen, dass die swing umgebung trotzdem irgendwie in eine html datei eingebunden werden kann. wie geht das?


----------



## Illuvatar (24. Apr 2005)

Lies oben L-ectron-Xs Post.


----------



## Roar (24. Apr 2005)

du kannst (J)Frames öffnen wie in nmormalen applikationen, aber keine Frames deinem applet hinzufügen


----------



## Scotty (24. Apr 2005)

nein, nein, nein. ich weiß doch, wie ich einen frame öffnen kann. ihr habt mich nicht richtig verstanden. hmm, also ihr kenn doch die swing demos, die bei jsdk dazu sind, oder?! öffnet doch mal bei font2dtest die font2dtestapplet.java, da werdet ihr sehen, dass dort in der main ein jframe gestartet wird. das prog wird nun auch über font2dtest.html gestartet. also, wie geht das?


----------



## Roar (24. Apr 2005)

das ist auch einfach nur ein Applet, welches einen JFrame öffnen, mehr nicht.


----------



## Scotty (24. Apr 2005)

oh man, ich komm mir vor wie bei jeopardy. also noch mal ganz genau:


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Window extends JFrame
{
    public Window()
    {	
        setVisible(true);
        setSize(800,600);	
        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e){System.exit(0);}
        });
    }
}
				
public class Runtime
{	
    public static void main(String args[])
    {
        new Window().show();
    }
}
```

das ist mein frame. und der soll in einem applet gestartet werden, also ungefähr so:
<html>
<body>
<applet code="Runtime.class" width="800" height="600"></applet>
</body>
</html>

das funktioniert aber nicht. drück ich mich denn nur so unverständlich aus?


----------



## Roar (24. Apr 2005)

nein, aber wenn das ein applet sein soll, dann muss deine Runtime auch von Applet erben! sonst ist es kein applet sondern eine ganz normale applikation.
leite Runtime von Applet ab und öffnen den JFrame in der start() methode.

und benenn deine beiden klassen mal lieber um, denn es ist ziemlich ungeschickt klassen so zu benennen, wie sie shcon in der stadart api heißen, vor allem wenn sie im java.lang package liegen...


----------



## Scotty (24. Apr 2005)

problem gelöst. danke!!!


----------

