Java Fehler, weiß aber nicht wie er behoben wird. :'(

Status
Nicht offen für weitere Antworten.

blu3light

Mitglied
Ich habe diesmal eine Java, bzw Java Applet Problem und weiß nicht wie ich diesen Fehler beheben kann.
Mein Code:
Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.*;
 
public class TestApplet extends Applet
{
   TextField  text;
   Button     send;
   String     tmsg;
 
   class Painter implements ActionListener
   {
      public void actionPerformed(ActionEvent e)
      {
         e.getActionCommand();
 
         tmsg.setText(text.getText());
         paint(tmsg);
      }
 
      public void init()
      {
         text   = new TextField(5);
         send   = new Button("Send");
 
         setLayout(new FlowLayout(FlowLayout.LEFT));
 
         add(text);
         add(send);
 
         send.addActionListener(new Painter());
      }
   }
 
   public void paint(Graphics gc)
   {
      gc.drawString(gc);
   }
}


Und diese Meldung kommt beim compilieren:


Was habe ich falsch gemacht? bzw. Wie kann man es ausbessern?
 

André Uhres

Top Contributor
Code:
//package applets;
/*
 * TestApplet.java
 */
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.*;
public class TestApplet extends Applet {
    private TextField  text;
    private Button     send;
    private Label      tmsg;
    public void init() {
        text   = new TextField(5);
        send   = new Button("Send");
        tmsg   = new Label();
        tmsg.setPreferredSize(new Dimension(200,20));
        setLayout(new FlowLayout(FlowLayout.LEFT));
        add(text);
        add(send);
        add(tmsg);
        send.addActionListener(new Painter());
    }
    class Painter implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            e.getActionCommand();
            tmsg.setText(text.getText());
        }
    }
}
 

blu3light

Mitglied
Hmm... Nur wann, bzw wie wird das dann "gepaintet"? Es muss ja auch auf dem Applet angezeigt werden. Macht das setText() schon? :?:
 

blu3light

Mitglied
Als ich deinen Code compiliert habe, hat sich die Datei TestApplet.class erstellt. Es hat sich aber auch eine Datei namens TestApplet$Painter.class erstellt!

Was nun? Wieso ist das passiert?

Tut mir leid wegen so dummen fragen, lese aber erst seid ca. 1 Woche ein Buch über Java - der Name des Buches ist: Java-easy, falls es jemanden interresiert! :roll: :lol:


*ups* tut mir leid, hatte nicht den "edit" Button benutzt. :roll:

Habe die TestApplet$Painter.class Datei mal weggelassen und schon konnte das Applet nicht geladen werden. Nur wieso hat sich diese Datei hergestellt?! Wieso passiert das? :? :?

Habe angefangen das komplette Tutorial von Sun.com zu lesen. Es ist zwar englisch, aber ich kann ja englisch. Naja. Das java-easy Buch hat manches nicht so gut erklärt. Ich wollte mir erst noch ein weiteres Buch davon holen, was ich aber nun vielleicht nicht mache, da das Tutorial von Sun ziemlich gut erklärt.
Nunja; ich glaube das diese TestApplet$Painter.class Datei sich wegen der new Methode erstellt hat. Stimmt das so?
 

Tissi

Mitglied
Also: Die zusätzliche .class-Datei kommt durch die inner class "Painter" (zeile 24). Sie steht zwar innerhalb der anderen Klasse, bekommt aer trotzdem eine eigene .class-Datei.

Der erste Fehler: Es gibt in der Klasse java.lang.String keine Methode setText(String s).
Wenn du also tmsg.setText() aufrufst, kann diese Methode schlicht und einfach gar nicht gefunden werden, weil sie nicht existiert. Stattdessen schreibst du einfach
Code:
tmsg = text.getText();
um den String zu initialisieren.

Der zweite Fehler: Du versuchst die Methode paint() mit einem String als Parameter aufzurufen. Eine solche Methode gibt es aber gar nicht. Die Methode paint in deiner Klasse verlangt als Parameter ein Objekt der Klasse Graphics. Du müsstest also eine Methode paint(String s) erstmal schreiben.

Code:
public void paint(String s)
{
//code
}

Der dritte Fehler: Du versuchst die Methode drawString() mit dem Graphics-Objekt als Parameter aufzurufen. Diese Methode gibt es aber gar nicht, der Parameter muss ein String sein:

Code:
public void paint(String s)
{
getGraphics().drawString(s);
}

Das würde zumindest den String schreiben, ich bin allerdings nicht ganz sicher, wohin. Du musst unter Umständen dem Graphics irgendwie die Position mitteilen, wo der String hin soll.
 

blu3light

Mitglied
Java-easy Buch hat gesagt.:
Die Applet-Methoden

Auch wenn es vielleicht gar nicht so aussieht, aber unsere Klasse HalloWWW enthält jetzt - dank der Ableitung von der Klasse Applet - tatsächlich bereits fünf Methoden namens paint() .....


Weiter unten steht dann:
paint() wird aufgerufen, wenn der Browser möchte, dass sich das Applet selbst zeichnet


Habe ich da etwas falsch verstanden oder was? ???:L

Und wie wird aus diesem Text (bzw code) der Text wiedergegeben?
Code:
//package applets;
/*
* TestApplet.java
*/
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.*;
public class TestApplet extends Applet {
    private TextField  text;
    private Button     send;
    private Label      tmsg;
    public void init() {
        text   = new TextField(5);
        send   = new Button("Send");
        tmsg   = new Label();
        tmsg.setPreferredSize(new Dimension(200,20));
        setLayout(new FlowLayout(FlowLayout.LEFT));
        add(text);
        add(send);
        add(tmsg);
        send.addActionListener(new Painter());
    }
    class Painter implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            e.getActionCommand();
            tmsg.setText(text.getText());
        }
    }
}

Ich habe die Datei auch mal compiliert und hochgeladen! Klick mich oder lass es sein!
 

Illuvatar

Top Contributor
In der paint Methode steht schon was drin, auch wenn du sie nicht überschreibst. Da zeichnet sich auch der Button und das Textfeld. Du sagst dem Label, dass das ab jetzt den und den Text hat, dann sagt das automatisch dem Applet, dass es sich neu zeichnen soll, und wenn es sich dann neu zeichnet, schreibt das Label den neuen Text hin.
 

blu3light

Mitglied
Illuvatar hat gesagt.:
In der paint Methode steht schon was drin, auch wenn du sie nicht überschreibst. Da zeichnet sich auch der Button und das Textfeld. Du sagst dem Label, dass das ab jetzt den und den Text hat, dann sagt das automatisch dem Applet, dass es sich neu zeichnen soll, und wenn es sich dann neu zeichnet, schreibt das Label den neuen Text hin.

Achso. Also führt sich das "paint()" sozusagen selbst aus und zeichnet die Teile ganze einfach?
Hoffe ich hab das nun richtig verstanden.

Nur wieso hat André Uhres denn das mit reingeschrieben? Ist das die größe des Labels oder was?
Code:
tmsg.setPreferredSize(new Dimension(200,20));
 

Leroy42

Top Contributor
blu3light hat gesagt.:
Ist das die größe des Labels oder was?
Code:
tmsg.setPreferredSize(new Dimension(200,20));

Wie der Methodenname schon sagt: Die Zeile weist das Label an,
bei Nachfrage (z.B. durch den LayoutManager), eine bevorzugte
Größe von 200x20 Pixeln anzugeben.

Normalerweise muß das aber nicht sein; dann berechnet Label eben
selbst wie groß es sein möchte/sollte.

Wenn du dein Programm z.B. variabel halten willst und es einen
Button "binHeutBesoffen" gibt, der allen Labels eine neue
Schriftgrößte verpaßt

Code:
label.setFont(label.getFont().deriveFont(48.0f));

dann würde dieses festverdrahtete new Dimension(200, 20) ziemlich
sinnlos :cool:
 

Leroy42

Top Contributor
(noch) nicht direkt.

Aber es kommt schon mal vor, daß ich die Auflösung auf 800x600 Pixel²
vermindern muß, um arbeiten zu können. :cool:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Browser Fehler bei Applet: java.security.AccessControl. Tools - Maven, Gradle, Ant & mehr 6
M Java applet fehler Tools - Maven, Gradle, Ant & mehr 2
K Java Applet mit Lauftext, kleiner Fehler? Tools - Maven, Gradle, Ant & mehr 6
G Webcam läuft nur bis Java VM 1.4 ab 1.5 gibts fehler Tools - Maven, Gradle, Ant & mehr 2
H Maven NetBeans Java Application ohne Manifest-Datei Tools - Maven, Gradle, Ant & mehr 7
B Kleines Werkzeug zum Anzeigen von Mehrfachvererbung mit Interfaces in Java Tools - Maven, Gradle, Ant & mehr 5
D Java Programm veröffentlichen am Besten modular Tools - Maven, Gradle, Ant & mehr 28
H Maven Verbindung Java Projekt und Jenkins Build job Tools - Maven, Gradle, Ant & mehr 21
Q Java Eclipse Fehlermeldung bei Installation Tools - Maven, Gradle, Ant & mehr 3
D Maven Abhängigkeiten überprüfen auf Kompatibilität mit einer anderen Java-Version Tools - Maven, Gradle, Ant & mehr 11
R Webstart Java 11 ohne Web Start Tools - Maven, Gradle, Ant & mehr 5
M Java mit Modulen kompilieren klappt nicht Tools - Maven, Gradle, Ant & mehr 9
R Java mitnehmen Tools - Maven, Gradle, Ant & mehr 14
W Java on Cloud - which Provider Tools - Maven, Gradle, Ant & mehr 0
S Python-Code mit Java ausführen Tools - Maven, Gradle, Ant & mehr 13
B Java auf Smartcards?! Tools - Maven, Gradle, Ant & mehr 9
J Java App im Mac Store veröffentlichen Tools - Maven, Gradle, Ant & mehr 0
M Maven (Java EE, WAR) Eigener Buildschritt - Manipulation von Dateien Tools - Maven, Gradle, Ant & mehr 4
VfL_Freak Desktopverknüpfung über den Java-Cache erstellen Tools - Maven, Gradle, Ant & mehr 0
S New version released: Java Switcher for 1.8.0_112 and Windows x64 only Tools - Maven, Gradle, Ant & mehr 4
S Java 32 Bit and 64 Bit Switcher for Windows XX [64 Bit only] Tools - Maven, Gradle, Ant & mehr 0
F java.lang.ClassNotFoundException auf anderem Rechner Tools - Maven, Gradle, Ant & mehr 0
S Applet Java Testen - Ergebnis wird nicht angezeigt, nur leeres Feld Tools - Maven, Gradle, Ant & mehr 15
T Java Applikation an Clients verteilen Tools - Maven, Gradle, Ant & mehr 5
S Java Web Start wird nicht ausgeführt Tools - Maven, Gradle, Ant & mehr 1
J Applet Java fragt Verzeichnis ab Tools - Maven, Gradle, Ant & mehr 0
J Applet .java.policy und neue Javaversion Tools - Maven, Gradle, Ant & mehr 4
R Maven woher gewusst, dass mein Java-Code commons-lang braucht? Tools - Maven, Gradle, Ant & mehr 0
O Applet Selbstsignierte Applets in Java 7 Update 51 Tools - Maven, Gradle, Ant & mehr 19
M Was muss man installiert haben damit Java Applets im Browser gehen Tools - Maven, Gradle, Ant & mehr 2
T ClassNotFound erfordert ständiges Löschen des Java-Cache. Tools - Maven, Gradle, Ant & mehr 2
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
B Webstart Java Webstart hängt sich beim Laden auf! Tools - Maven, Gradle, Ant & mehr 8
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
ChrisX Java im Autostart sinnvoll? Tools - Maven, Gradle, Ant & mehr 4
HaukeG Maven Java Web-Application in Eclipse - Abhängigkeiten zwischen den Projekten Tools - Maven, Gradle, Ant & mehr 10
F [Java Webstart] Webspace gesucht... Tools - Maven, Gradle, Ant & mehr 6
M Java Application startet bei verschiedenen JRE's nicht Tools - Maven, Gradle, Ant & mehr 7
B Wie kann man unter Windows 7 file types mit Java Applikationen verknüpfen? Tools - Maven, Gradle, Ant & mehr 5
D Java mit .bat starten Tools - Maven, Gradle, Ant & mehr 1
S Java Applikation als Windows Service einrichten Tools - Maven, Gradle, Ant & mehr 23
C Aufruf eines Java Programms mittels ant MIT Parametern Tools - Maven, Gradle, Ant & mehr 2
P Java Applikation auf Server Tools - Maven, Gradle, Ant & mehr 7
schlingel Applet Java-Sicherheitswarnung wegen alter JRE-Version Tools - Maven, Gradle, Ant & mehr 13
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
W CVS Keine Verbindung zu cvs.dev.java.net möglich Tools - Maven, Gradle, Ant & mehr 5
E Java Applet bearbeiten Tools - Maven, Gradle, Ant & mehr 8
J Webstart Grenzen von Java Webstart? Tools - Maven, Gradle, Ant & mehr 2
B Buckminster: Plugin Version in Java source File einfügen Tools - Maven, Gradle, Ant & mehr 4
T Ant ant-variable aus Java Tools - Maven, Gradle, Ant & mehr 4
F Ant ANT javac class-Dateien von entfernten JAVA-Klassen löschen Tools - Maven, Gradle, Ant & mehr 11
J Java Webstart beschleunigen und Verlauf anzeigen Tools - Maven, Gradle, Ant & mehr 3
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
L PHP + Java Applet Kommunikation Tools - Maven, Gradle, Ant & mehr 9
S Probleme mit Kombination Java JApplet;MySQL;Webserver Tools - Maven, Gradle, Ant & mehr 3
nabla Einbinden von externen Java und C Bibliotheken Tools - Maven, Gradle, Ant & mehr 5
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
A Java-Applet Sandbox deaktiviren? Tools - Maven, Gradle, Ant & mehr 2
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
I In Java Applets drucken Tools - Maven, Gradle, Ant & mehr 2
D Java Webstart startet .jar file nicht Tools - Maven, Gradle, Ant & mehr 13
S Java Applet per Klick starten? Tools - Maven, Gradle, Ant & mehr 6
U Java Webstartproblem ab Version 1.6_11 Tools - Maven, Gradle, Ant & mehr 7
S Java Ant per Console starten Tools - Maven, Gradle, Ant & mehr 3
M Java Applet - enforce use of older JRE Tools - Maven, Gradle, Ant & mehr 3
N Wie Java-Programm zu Applet machen?! Tools - Maven, Gradle, Ant & mehr 2
M Java Swing Anwendung als Webanwendung Tools - Maven, Gradle, Ant & mehr 6
Raidri Java Programme installieren Tools - Maven, Gradle, Ant & mehr 5
S Java Webstart Tools - Maven, Gradle, Ant & mehr 3
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
S Java-Applet Steuerung IO Karte am Drucker-Port Tools - Maven, Gradle, Ant & mehr 4
T Java Anwendung installieren Tools - Maven, Gradle, Ant & mehr 7
T Statistiken zur Verbreitung von Java Tools - Maven, Gradle, Ant & mehr 5
D Java-Anwendung mit Bildern (JPG) verfügbar machen Tools - Maven, Gradle, Ant & mehr 7
F Kleines Java-Programm geschrieben, 30 Dateien? Tools - Maven, Gradle, Ant & mehr 16
T Applet soll Java Programm starten Tools - Maven, Gradle, Ant & mehr 2
P Java-Applet funktioniert unter WINXP nicht Tools - Maven, Gradle, Ant & mehr 2
N Java 1.6 Applet auf älteren Versionen ausführbar? Tools - Maven, Gradle, Ant & mehr 4
F Probleme mit Java WebStart; Hauptklasse konnte nicht gef. Tools - Maven, Gradle, Ant & mehr 18
J Java Applet bei mouseover mit Tooltip Tools - Maven, Gradle, Ant & mehr 3
M Autostart unter Windows für Java Aplikation Tools - Maven, Gradle, Ant & mehr 10
J ANT: run/java: NoClassDefFoundError Tools - Maven, Gradle, Ant & mehr 2
C chatProgramm in java Tools - Maven, Gradle, Ant & mehr 5
L Java Webstart Tools - Maven, Gradle, Ant & mehr 6
B Java-Applet startet nicht aus dem Browser Tools - Maven, Gradle, Ant & mehr 1
K Java-Applet Uhrzeit Tools - Maven, Gradle, Ant & mehr 2
T Java Applett: Rückwärtskompabilität Tools - Maven, Gradle, Ant & mehr 2
G JApplet parallel zu Java-Applikation entwickeln Tools - Maven, Gradle, Ant & mehr 11
H [gelöst] Java Stimmgerät bzw. Frequenzerzeugung gesucht Tools - Maven, Gradle, Ant & mehr 2
A RSS-Feeds auslesen mit JAVA speichern und Applet übergeben Tools - Maven, Gradle, Ant & mehr 2
D Java Web Start im Browser laufen lassen Tools - Maven, Gradle, Ant & mehr 10
W Java-Applet Funzt ned! Tools - Maven, Gradle, Ant & mehr 3
V dreieck ausfüllen (java) Tools - Maven, Gradle, Ant & mehr 6
M Java Security Tools - Maven, Gradle, Ant & mehr 2
B Java Applet im Systemtray Tools - Maven, Gradle, Ant & mehr 2
P Java Applets und Power Point Tools - Maven, Gradle, Ant & mehr 11
G Jar File Java Web Start Tools - Maven, Gradle, Ant & mehr 2
H Java 1.4 Applet, IE 6 und Java 6 funktioniert nicht zusammen Tools - Maven, Gradle, Ant & mehr 2
B Jukebox mit Java [Html Applet] Tools - Maven, Gradle, Ant & mehr 11

Ähnliche Java Themen

Neue Themen


Oben