Applet: Event-Handling-Methode in start- bzw. paint-Methode

Status
Nicht offen für weitere Antworten.

Bueko

Mitglied
Hallo Ihr Lieben,

ich habe bei folgender Frage ein Brett vorm Kopf. Ich habe eine Applet für Berechnung mit Event-Handling-Methoden programmiert. Im zweiten Schritt sollen nun diese Berechnungen in die start- bzw. paint-Methode eingebaut werden.

1. Was passiert bei diesem Einbau?
In der start-Methode bleibt die Exception und in der paint-Methode wird das Applet zwar angezeigt aber nicht berechnet.

2. Wie wird berechnet?
In der start-Methode des Applets wird die Berechnung jedes Mal aufgerufen, wenn die Seite des Applets erneut geladen wird, bevor das Textfelder überhaupt gefüllt wird. In der paint-Methode wird die Berechnung jedes Mal neu aufgerufen, wenn das Applet neu gezeichnet werden muss.

Seht Ihr das genauso?

Danke.
 

L-ectron-X

Gesperrter Benutzer
Zu 2. stimme ich zu.
Zu 1.: Was für eine Exception? Und: In der paint()-Methode sollte nichts mehr berechnet werden. Sie sollte nur noch zeichnen müssen.
 

Bueko

Mitglied
Vielen Dank für die schnelle Rückmeldung...

ich bekomme beim Ausführen des Applets die Exception das der String leer ist.
Die Exception tritt auf, wenn ich anstatt des Event-Handlings die start-Methode nutze.

Code:
java.lang.NumberFormatException: empty String
 

Bueko

Mitglied
Hier ist mein Code. Für die Berechnung, die ich in die Methode rechneClicked() - siehe Zeile 66 - eingebaut habe, soll ich anstatt dem Aufruf im Event-Handling (siehe Zeile 53) die paint- oder start-Methode verwenden.

Code:
import java.applet.*;
import java.awt.*;

public class Mittelwert extends Applet {

	Label labText1;
	TextField tfWert1, tfWert2, tfErgebnis;
	Button bRechne, bLoeschen;
	Font fntHead, fntFett;

	public void init() {

		setLayout(null);

		fntHead = new Font("Verdana", 1, 14);
		fntFett = new Font("Verdana", 1, 12);

		// Überschrift
		labText1 = new Label("Das Applet berechnet Mittelwerte");
		labText1.setBounds(30, 10, 300, 25); // x, y, b, h
		labText1.setFont(fntHead);
		add(labText1);

		// 1. Wert
		tfWert1 = new TextField("");
		tfWert1.setBounds(30, 50, 150, 25);
		add(tfWert1);

		// 2. Wert
		tfWert2 = new TextField("");
		tfWert2.setBounds(200, 50, 150, 25);
		add(tfWert2);

		// Button "Rechne Mittelwert"
		bRechne = new Button("Rechne Mittelwert");
		bRechne.setBounds(120, 90, 150, 25);
		bRechne.setFont(fntFett);
		add(bRechne);

		// Ergebnisfeld
		tfErgebnis = new TextField("");
		tfErgebnis.setBounds(120, 130, 150, 25);
		add(tfErgebnis);

		// Button "Loeschen"
		bLoeschen = new Button("Loeschen");
		bLoeschen.setBounds(120, 170, 150, 25);
		bLoeschen.setFont(fntFett);
		add(bLoeschen);
	}

	public boolean handleEvent (Event e) {

		if(e.target == bRechne && e.id == Event.ACTION_EVENT) {
			rechneClicked();
		}

		if(e.target == bLoeschen && e.id == Event.ACTION_EVENT) {
			loeschenClicked();
		}

		return false;
	}

	public void rechneClicked() {
		float wert1 = Float.parseFloat(tfWert1.getText());
		float wert2 = Float.parseFloat(tfWert2.getText());
		float ergebnis = ((wert1 + wert2) / 2);
		tfErgebnis.setText(Float.toString(ergebnis));
	}

	public void loeschenClicked() {
		tfWert1.setText("");
		tfWert2.setText("");
		tfErgebnis.setText("");
	}
}
 

Murray

Top Contributor
Bueko hat gesagt.:
Für die Berechnung, die ich in die Methode rechneClicked() - siehe Zeile 66 - eingebaut habe, soll ich anstatt dem Aufruf im Event-Handling (siehe Zeile 53) die paint- oder start-Methode verwenden.
Warum sollst Du das machen? Besonders sinnvoll ist das ja nicht - das Programm soll doch sicher auf Eingaben reagieren...
 

Bueko

Mitglied
Ich weiß, dass es nicht besonders sinnvoll ist, aber so ist leider die Aufgabenstellung.
Ich denke, dass wir hier den Sinn oder Nicht-Sinn herausfinden sollen.
 

Murray

Top Contributor
Dann hast Du den Nicht-Sinn ja gerade gefunden - wenn der Code in der Start-Methode aufgerufen wird, sind die Felder noch leer, so dass es bei Float#parseFloat zu einer Exception kommt (denn ein Leerstring ist nunmal keine gültige Zahl).

Entschärfen könntest Du das Problem, indem Du bei Leerstrings immer 0 annimmst:

Code:
   public void rechneClicked() {
      float wert1 = parseFloat(tfWert1.getText());
      float wert2 = parseFloat(tfWert2.getText());
      float ergebnis = ((wert1 + wert2) / 2);
      tfErgebnis.setText(Float.toString(ergebnis));
   } 
  
   private float parseFloat( final String txt) {
     if ( txt != null) {
       if ( !txt.isEmpty()) {
         return Float.parseFloat( txt);
       }
     }
     return 0.0;
   }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
D Java Applet wird nicht im Browser angezeigt Java Basics - Anfänger-Themen 6
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
S Erste Schritte Java - Applet - Rechteck ständig versetzen Java Basics - Anfänger-Themen 14
A Applet Plot für atan erstellen Java Basics - Anfänger-Themen 1
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
K JDK installieren displays java applet für MAC Java Basics - Anfänger-Themen 10
S Zeichen von abgerundeten Rechtecken auf einem Applet Java Basics - Anfänger-Themen 5
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
S Klassen Applet extern aufrufen Java Basics - Anfänger-Themen 1
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
C Applet Probleme Java Basics - Anfänger-Themen 1
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
G Applet in ein JSP einbinden Java Basics - Anfänger-Themen 1
C Java-Applet Fehler "NoClassDefFoundError"? Java Basics - Anfänger-Themen 1
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
K Applet funz. im Browser nicht Java Basics - Anfänger-Themen 11
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
thet1983 Erste Schritte <param> Tag in Applet Java Basics - Anfänger-Themen 4
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
G Signiertes Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 1
Y Applet: Verschlüsselung Java Basics - Anfänger-Themen 3
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
F signiertes Applet fkt. nicht bei lokalem Aufruf Java Basics - Anfänger-Themen 2
K Frage zu Applet Java Basics - Anfänger-Themen 3
V While Schleife für ganzes Applet Java Basics - Anfänger-Themen 6
P Applet Histogramm Java Basics - Anfänger-Themen 6
H 27 Kreise Zeichnen Java Applet Java Basics - Anfänger-Themen 2
G Java Applet aus Eclipse heraus testen? Java Basics - Anfänger-Themen 6
S Applet findet Klasse nicht Java Basics - Anfänger-Themen 7
R Java Applet mit Mausklick ansprechen Java Basics - Anfänger-Themen 3
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
S Applet-Objekt ist vor dem Hintergrund Java Basics - Anfänger-Themen 11
F Problem mit Applet Java Basics - Anfänger-Themen 5
A Applet mit Object-Tags einbinden. Java Basics - Anfänger-Themen 3
S Erste Schritte Fenster wechsel im Applet Java Basics - Anfänger-Themen 7
S Applet Deployment Java Basics - Anfänger-Themen 2
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
H Applet - main()-Methode Java Basics - Anfänger-Themen 4
K Applet wird nicht im Browser und Appletviewer angezeigt Java Basics - Anfänger-Themen 5
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
N Erste Schritte Applet zeichnet Bild nicht Java Basics - Anfänger-Themen 10
H Klassen in Eclipse stellt es im Ausgabe-Applet nicht dar Java Basics - Anfänger-Themen 5
L Applet soll Html-File öffnen Java Basics - Anfänger-Themen 2
L NetBeans Applet in html Java Basics - Anfänger-Themen 4
Dogge Start:Applet nicht Initialisiert Java Basics - Anfänger-Themen 11
D Applet beenden Java Basics - Anfänger-Themen 7
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
M RSA Applet ohne Cipher Java Basics - Anfänger-Themen 15
B String verschlüsseln - Applet - ohne BASE64 Java Basics - Anfänger-Themen 7
S Methode in Applet starten Java Basics - Anfänger-Themen 2
M AWT Applet - Button aus anderer Klasse abfragen Java Basics - Anfänger-Themen 4
W Probleme mit Java Applet Java Basics - Anfänger-Themen 5
M Applet kann in Browser nicht ausgeführt werden Java Basics - Anfänger-Themen 4
L Applet: Laden unterbricht den Browserfokus (scrollen) Java Basics - Anfänger-Themen 2
Z Applet startet nicht bei Domain mit Umlaut Java Basics - Anfänger-Themen 2
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
Helgon ClassNotFound Applet Java Basics - Anfänger-Themen 6
U Applet Signiert und trotzdem Fehlermeldung Java Basics - Anfänger-Themen 18
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
S Applet Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
E Applet wird nicht angezeigt Java Basics - Anfänger-Themen 11
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
B Applet - Laden eines Java-Fensters bricht ab Java Basics - Anfänger-Themen 6
N Import Problem, Applet will nicht Java Basics - Anfänger-Themen 6
M Applet Eclipse Vollbild Java Basics - Anfänger-Themen 3
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
I Java Applet Java Basics - Anfänger-Themen 8
D Java Applet Dateien auf Server auslesen? Java Basics - Anfänger-Themen 8
L Referenced Libraries korrekt in Java Applet einbinden.. Java Basics - Anfänger-Themen 2
KBJ Java Applet Gästebuch Java Basics - Anfänger-Themen 12
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
U Applet wird nicht angezeigt Java Basics - Anfänger-Themen 2
J J-Applet, Frage Java Basics - Anfänger-Themen 19
J Applet farblich gestalten Java Basics - Anfänger-Themen 5
M Applet lokaler Festplattenzugriff Java Basics - Anfänger-Themen 25
X Applet - Client/Server Java Basics - Anfänger-Themen 2
M Applet ist nur graues Feld Java Basics - Anfänger-Themen 12
O webserver für Applet und php Java Basics - Anfänger-Themen 7
J Fehlermeldung: Applet nicht initialisiert Java Basics - Anfänger-Themen 24
C Java Applet Probleme Java Basics - Anfänger-Themen 4
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
S Input/Output Problem mit dateizugriff innerhalb der .jar (Applet) Java Basics - Anfänger-Themen 2
M Applet + BilderDownload Java Basics - Anfänger-Themen 36
O Applet Wetterticker Java Basics - Anfänger-Themen 17
W KeyListener auf Applet mit Runnable Java Basics - Anfänger-Themen 4
M Bild in Applet darstellen Java Basics - Anfänger-Themen 6
W Applet funktiniert nur in Eclipse Java Basics - Anfänger-Themen 2
S Erste Schritte Machbarkeit: Applet oder GUI-Applikation? Java Basics - Anfänger-Themen 3
R Daten von Applet an Website Java Basics - Anfänger-Themen 4
A Linie Zeichnen Applet mit Double Wert Java Basics - Anfänger-Themen 3
O (von Applet) daten an Server übergeben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben