Applet anzeigen

bennoberga

Mitglied
Grüße!

ich habe einen Quellcode in Eclipse implementiert und in Klassen unterteilt also eine main klasse, eine gui die die Oberfläche macht usw.
Das muss ich jetzt allerdings mithilfe eines Applets auf eine html seite bringen... Auf dem Gebiet hab ich keinen plan und such jetzt schun viel zu lange umher...
Wie kann man das machen? die gui werd ich wohl vergessen können so mit JFrame oder? Wie bindet man so ein Eclipse projekt als applet ein, und ist es möglich die Klassen beim applet beizubehalten?

Vielen Dank für Antworten und Hilfe!
 
Zuletzt bearbeitet von einem Moderator:
Code:
<applet code="kai.applet.GameApplet.class" archive="inlogged/game.jar" width="640" height="496">
	<PARAM name="session" value="<?php echo $_SESSION['gamesession']; ?>">
</applet>

code gibt die Klasse an, die von Applet/JApplet erbt, also quasi die Mainklasse, archive dem relativen Pfad zur Jar vom Aufrufpunkt aus (in dem Fall wenn die Jar im Ordner "htdocs\inlogged" liegt), die Param beliebige Parameter. Applets unterstützen auch Window-Komponenten.
 
HTML:
<applet code="main.class" width="400" height="400" archive="gogesjar.jar" name="Goges" alt="AU AU WEEEEEEH HOPPS Laden verkackt"></applet>

so hab ich das auf html....


und der quellcode der main ist:

Java:
import java.applet.Applet;
public class main extends Applet{
	public static void main(String[] args){
		gui g=new gui();
	}
}


erhalte beim aufrufen der webseite dann aber den Fehler

Code:
"java.lang.reflect.InvocationTargetException
 at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
 at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
 at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
 at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: main cannot be cast to java.applet.Applet
 at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
 at java.awt.event.InvocationEvent.dispatch(Unknown Source)
 at java.awt.EventQueue.dispatchEvent(Unknown Source)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.run(Unknown Source)
Ausnahme: java.lang.reflect.InvocationTargetException"

;(
 
Zuletzt bearbeitet von einem Moderator:
sofern eine Klasse nicht in einem package liegt kann sie sowieso von anderen kaum benutzt werden,
und hast du zufällig main früher schon mal kompiliert, als es noch kein Applet war? vielleicht alte .class-Files,

Klassen auch immer groß schreiben!

fange neu an mit einer Klasse test.TestApplet, wobei test das package ist
 
Ein Applet kann zwar eine main enthalten, wodurch es auch als Anwendung gestartet werden kann, wenn es als Applet gestartet wird, werden aber 4 andere Methoden zur Steuerung verwendet: Lebenszyklus eines Applets

Versuch mal, die Main in ein package zu legen, keine zu verwenden bringt oft Probleme mit (kannst die Klassen z. B. nirgends importieren).


PS: Am Besten Klassennamen immer groß, damit kannst du und jeder andere sie leichter von Methoden und Variablen unterscheiden.
 
Java:
public class Main extends Applet{
	public static void Main(String[] args){
	}
	public void init(){
		Gui g=new Gui();
	}
	void run(){
	}
}

so dann irgendwie oder wie ruf ich das dann in der init auf? :autsch:

Danke für eure Hilfe!
 
Zuletzt bearbeitet von einem Moderator:
hast du kein Interesse daran in Lehrbüchern Grundlagen zu lesen, wie ein Applet überhaupt funktioniert?
dir Beispiele im Internet anzuschauen?

die main-Methode schreibt sich übrigens weiter klein, auch wenn die Klasse groß geschrieben wird, oje oje

edit:
der Code von Volvagia weiter unten ist allerdings auch nicht sehr hilfreich, main braucht es überhaupt nicht,
sorry wenn ich mal nur meckern kann
 
Zuletzt bearbeitet von einem Moderator:
Java:
public class Main extends Applet{
	public static void main(String[] args) {
		new Main().init();
	}
	public void init() {
		Gui g = new Gui();
	}
}

Du brauchst für ein Applet theoretisch keine Main.
 

Zurück
Oben