Da ich mich mit Servern etc. absolut nicht auskenne, frage ich einfach mal, was ich für Folgendes genau brauche:
Ich möchte quasi einen Link haben, über den ich auf meine Seite mit einem Applet gelange; was brauche ich dafür? Einen Web-Server, auf dem HTML-Dateien gelagert sind, sowie die CLASS-Dateien?
(Mag recht noobig klingen, aber ich habe echt keine Ahnung von diesem ganzen Server-Krams. Das einzige, was ich habe, ist ein FTP; und wenn ich da HTML-Files raufpacke, kann ich mir sie schonmal nicht angucken ^^')
Ganz genau. Eine Webseite mit einem Link zu deiner Webseite die das Applet eingebettet hat. Beide Webseiten können irgendwo im Internet liegen. Das Applet kann völlig unabhängig auch irgendwo im Internet liegen.
ich vermute dein applet liegt aktuell noch bei dir lokal und du führst einfach die .html aus?
dann müsstest du bei dir noch einen webserver installieren...so wie dein ftp
ich glaube als webserver wird zum einstieg oft xampp empfohlen...
Also XAMPP habe ich mir jetzt mal angeguckt und einiges drüber in Erfahrung gebracht - zum Beispiel, dass man ihn lieber nicht als Online-Server benutzen sollte, dass auch andere darauf zugreifen können.
Ich hätte aber gerne einen Server, auf dem ich meine Applets quasi probieren kann, aber
auf den auch Freunde etc. von mir zugreifen können. Und das am besten kostenlos …
EDIT: Was ich beim Googling finde, sind dann nur localhost-Server, das heißt mein PC müsste den ganzen Tag laufen, wenn ich irgendjemandem irgendetwas zeigen will oder von der Schule drauf will …
EDIT 2: Auch nachdem ich es bei XAMPP mit der HTML-File in htdocs gepackt habe, funktionierte es nicht - war wohl immer noch lokal.
ja der xampp würde in diesem Fall bei dir lokal laufen und dein rechner müsste dazu immer an sein...deine freunde müssten dann deine ip-adresse in ihrem browser eingeben um deine seiten aufzurufen
eine andere möglichkeit wäre wie oben erwähnt einen webhoster zu nutzen...dort schiebst du deine dateien hin, oft auch per ftp und bekommst dort bei deiner anmeldung eine adresse zugewiesen um deine hochgeladenen Dateien im Browser aufzurufen
Gut, habe ich jetzt einmal gemacht. CLASS-Datei & appsite.html auf dem Server;
jetzt werde ich bombadiert:
Code:
Laden: App.class ist nicht öffentlich oder hat keinen öffentlichen Autor.
java.lang.IllegalAccessException: Class sun.plugin2.applet.Plugin2Manager can not access a member of class App with modifiers "public"
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(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)
Ausnahme: java.lang.IllegalAccessException: Class sun.plugin2.applet.Plugin2Manager can not access a member of class App with modifiers "public"
Exception in thread "AWT-EventQueue-4" java.lang.NullPointerException
at java.awt.LightweightDispatcher$3.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)
Exception in thread "AWT-EventQueue-4" java.lang.NullPointerException
at java.awt.LightweightDispatcher$3.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)
1. IllegalAcces kann doch nicht sein, sie liegt ja jetzt nicht mehr lokal.
2. Da ist gar keine Instanzvariable public drin ...
3. Hä? In nem normalen Programm, non-applet, geht das. Das ist ein Hallo-Welt-DrawStrng-Programm, dem ich einen Parameter übergeben ... (siehe hier: http://www.java-forum.org/java-basics-anfaenger-themen/84875-applet-nicht-ausfuehrbar.html)
Ah, danke. Ja, den Konstruktor public machen hat ja auch damals shcon nicht geklappt.
Übrigens muss ich nicht nur die Klasse public machen, sondern auch den Konstruktor entfernen. Also sieht mein Code letzendlich so aus: