[JAVA] Fehler beim einbeziehen der Applet.class

glowhand

Programmierer
21 April 2006
273
16
Hallo!
Bin grade dabei, JAVA zu erlernen. Nur finde ich weder bei Google noch in irgendeinem Buch HInweise über folgenden Fehler:
Wie bekannt lassen sich über "import java.xxx" verschiedene Klassen einlesen.
Das klappt auch wunderbar, bis auf "import java.applet.*" bzw. "import java.applet.Applet".
Der Jikes Compiler gibt folgende Meldung aus:

The file "applet.class" was found in directory "" specified in the CLASSPATH. However, that class file specifies the type "applet".

Der Standard-Compiler gibt diese Meldung aus:
cannot acess java.applet
bad class file: ..\java\applet.class
class file contains wrong class: applet
Please remove or make sure it appears in the correct subdirectory or the classpath.
import java.applet.Applet

Soweit ich das sehe versucht er immer im Ordner java eine applet.class zu öffnen, die nicht existiert. Die , groß geschriebene, Applet.class liegt ja erstmal im Verzeichnis applet.

Der Classpath ist korrekt auf eine rt.jar Datei gesetzt. Dort liegt auch ein Ordner applet, in diesem die Klasse Applet(.class).

Wäre für jede Hilfe dankbar!
Christian.
 
wie meinst du das jetzt? :-?
also ich habe die jdk frisch gedownloadet und installiert. dort ist ja die jre enthalten. in ihr gibt es eine rt.jar mit sämtlichen standard-klassen, unter anderem auch der Applet.class. Bis auf sämtliche Klassen des Ordners applet funktionieren alle.

edit:

beispiel-quelltext, der nicht funktioniert

PHP:
import java.applet.Applet;

class apple extends Applet {
   public static void funfunc {
      System.out.println("doesn't work");
   }
}

Eigentlich reicht aber schon die erste Zeile (import...) für eine Fehlermeldung.
 
Zuletzt bearbeitet:
du lernst java???... dann schmeiss das buch wech das du hast und kauf dir ein gscheites.
ich will ja nix sagen aber java lernen und gleich mit applets starten ok wenns sein muss...
soweit ich von applet ahnung habe wird beim starten eines applets die init funktion aufgerufen also probirs mal mit
Code:
import java.applet.Applet;

import javax.swing.JLabel;

public class HelloWorld extends Applet {
   
    public void init() {
  	  this.add(new JLabel("Hello World"));
   }

}

Deine Fehlermeldungen kommen daher das du deine private class hast. Bei applets brauchst du aber ne public class.... soweit wie ich die fehlermeldungen bei mir inerpretiert habe... aber mit applets hab ich mich so selten befasst..

mfg
Samy
 
nee sry funktioniert auch nicht.
Ich möchte nicht nach Buch lernen, das kann ich nicht. Lieber versuche ich irgendwas zu realisieren und wenn ich nicht weiterkomme suche ich nach einer Lösung.
 
also mein applet sollte funktionieren...
welche fehlermeldung kommt bei meinem applet?
und mit welcher ide arbeitest du?

mfg
Samy
 
Fehlermeldungen siehe 1. Beitrag (ist wieder die gleiche).
IDE ist der "Java-Editor 7.04a". Eclipse möchte ich nicht nutzen, der JOE wollte nicht funktionieren, obwohl CLASSPATH und alles korrekt gesetzt war. So bin ich eigentlich mit dem "Java-Editor" zufrieden.
 
hmm ok die IDE kenn ich nicht da passt was dann mit der einbindung von java in den Editor nicht richtig
hehehe eclipse mochte ich auch nicht etz find ichs genial... aber geschmäcker sind verschieden
alternativ kannst ja mal Jbuilder anschauen gibts freeware musst aber dann die JDK ändern die freeware wird ncoh mit 1.4 ausgeliefert...

mfg
Samy
 
ok scheint wirklich an der ide zu liegen, beim JOE scheint das kompilieren von applets zu funktionieren, dafür laufen wiederum andere programme nicht.ich werde mich mal auf die scuhe nach weiteren ides machen bis ich eine finde, die vollständig funktioniert.
danke.
 
stimmt
netbeans irgendwie vergess ich die immer... naja hab ja noch nicht mit gearbeitet
mfg
Samy
 
Eclipse und alles ist gut^^

also nochmal zurück zum Thema, wenn du gerade rest java lernst und dann mit Applets (AWT) anfängst wird dir das den overkill geben und du hörst gleich wieder auf, denn für den Anfang sind die wirklich schwer. Versuch lieber erst mal dich viel auf Consolen-Ebene zu beschäftigen und da zu lernen, nen AWT/Swing/SWT-Programm finde ich für den Anfang mehr als übertrieben
 
ja ich weiß nicht, muss mich halt wirklich erstmal reinarbeiten. nur zB so ein "zahlen-raten-programm" auf konsolenebene ist ja generell schnell geschrieben, egal welche programmiersprache.
mein laptop gibt nicht soviel leistung her, deswegen ist eclipse schonmal unangebracht. und ich glaube netbeans braucht auch einiges an ressourcen.
 
benutze den JCreator und bin sehr zufrieden damit
Eclipse ist meiner Meinung nach was für Fortgeschrittene
 
Für den Anfang reicht auch BlueJ(.org), der meckert oben doch was von Classpath, ist der wirklich richtig gesetzt?
 
Eclipse ist meiner Meinung nach was für Fortgeschrittene

jo, das ist gut möglich, aber man sollte lieber dann gleich Eclipse nutzen, denn ich kenne das von PHP das Umgewöhnen von einem total schlanken Editor auf eine komplette PHP-IDE ist verdammt schwer, ich hätte lieber gleich die große IDE nehmen sollen^^
 
Ja Classpath war richtig gesetzt, jetzt habe ich ja auch den JCreator und der funktioniert einwandfrei.
Ich nutze die Gelegenheit um nach guten, frei erhältlichen, Java-Kursen zu fragen.
Habe zwar jetzt schon an die 5 ebooks auf dem Rechner, aber irgendwie sind die alle so aufgebaut:
- Anfangs seitenlanges Gefasel über JAVA (ok, kann man ja auch mal lesen)
- Danach kommen die Kapitel, die sich mit den Anfangssachen beschäftigen (String.out, Arrays etc.)
- ... und wenn dann etwas kommt, was man wirklich noch nicht kann, wird nur noch haufenweise Code gezeigt ohne darauf richtig einzugehen.

Nur mal als Beispiel: BufferedReader... Um Tastatureingaben als Strings einzulesen soll ich diese Klasse ja nutzen. Da könnte ich den Code natürlich wunderbar aus dem Buch kopieren. Aber über den Hintergrund dieser Klasse (Was macht eigentlich diese Klasse genau?) wird garnichts geschrieben.
Das sehe ich auf javabuch.de, Java ist auch eine Insel und noch einigen weiteren Büchern.

Vielleicht kann mir ja da auch nochmal jemand Tipps geben.
 
das "Gefassel" über Java würde ich mir unbedingt antun, sonst wundert man sich später noch warum ein als Parameter übergebens Objekt immer direkt geändert wird (Stichwort Referenz) oder man hat sonst komische Dinge oder verpasst wichtige Dinge Sachen besser zu lösen.
Und das wichtigste, man bekommt erstmal nen Hintergrund-Wissen über Java, wie funktioniert es (ja ist wichtig) und lernt dadurch auch die Vorteile von Java, dass man es so vielseitig einsetzen kann etc.

Aber mal im Ernst, interessiert dich was die BufferedReader Klasse, die File-Klasse etc im Hintergrund machen? dann würde ich nochmal überdenken vllt eine andere Sprache wie Assembler zu nehmen, wo du wirklich alles selbst amchen musst, der Vorteil der rein-objektorientierten Sprace Java besteht ja in der Abstraktion. Du musst nicht wissen, was ein Code im Hintergrund macht (was auf Grund der Betriebssystemübergreifenden Verarbeitung durch die VM etwas kompliziert werden könnte) sondern musst nir wissen, was eine Klasse macht und wie man sie nutzt. Denn über welche tausend Win-Apis in einem Windowssystem die JFilerChooser-Klasse dargestellt wird ist ja wohl etwas sehr komplex (und ja das ist es wirklich) und auch nicht wichtig, wichtig ist doch nur wie man sie nutzt, welche Returncodes sie liefert, welche Exceptions sie wirft etc.

hmm, soviel wollte ich jetzt gar nicht schreiben :biggrin:


Noch nen Tipp, wenn die schon Consolen-Programme langweilig sind, dann schau dir Threads mit der Console an oder probiere JSP aus
 
Das "Gefasel" habe ich mir nun leider schon ein paar mal angetan und deswegen wirkt JAVA auf mich nun schon zu interessant, um zu wechseln.
Aber man braucht doch zumindest ein wenig Erklärung, wie der Code arbeitet. Ich lerne doch nichts, wenn da ein Code steht und unter diesem gesagt wird "So und dann hat man das und das Programm". :-?
 
kannst mich mal im ICQ antickern, kann dir mal den Unterrichtsstoff aus der 11 geben, da haben wir einige eBooks und Zeugs bekommen über Java und deren Funktionen + Beispiele