Hallo zusammen so langsam verzweifel ich
Ich habe eine Aufgabe gehabt in welcher ich einen Mittelwert errechnen sollte siehe Code.
Nun ist eine Folgeaufgabe, welche fragt, was passiert:
a)wenn die Berechnung in einer Paint Methode und was wenn sie in einer
b)Start Methode des Applets eingebaut wird
c)und unter welchen Bedingungen die Berechnungen durchgeführt werden.
Ich hab hier im Forum schon selbe Aufgaben gefunden, aber irgendwie sind die Lösungsvorschläge dennoch verwirrend.
ich habe zu a) In der Startmethode kann nicht berechnet werden, da die Start-Methode direkt nach Aufruf des Applets aufgerufen wird und so noch keine Daten eingegeben sind. Es folgt die Exception dass Strings erwartet werden in der Eingabe.
Ergo; man kann nicht rechnen in der Startmethode, es sei denn man gibt den Variablen, welche zur Berechnung sind einen startwert an.
zu b) man kann in der paint-Methode die berechnung durchführen, da es dann eine überschriebene Methode der paint-methode aus der Klasse java.applet.Applet ist (?).
Bedingung: Die paint methode muss eine andere Signatur aufweisen, als die Paint-Methode aus java.applet.Applet
Mein Tutor lacht sich schon schlapp über meine Doofheit ^^
Er schreibt: Sie liegen daneben, Machen Sie erst folgendes:
- schreiben Sie eine paint- und eine start-Methode, und geben dort mit einem System.out aus:
"Start aufgerufen"
bzw.
"Paint aufgerufen"
Machen Sie dann so einige Dinge mit Ihrem Applet, so dass die Ausgabe erscheint.
Aber bitte, rufen Sie die beiden Methoden auf keinen Fall manuell auf.
Versteh die ganze Aufgabe nicht. Zumal mir gesagt wurde, dass diese Aufgabe keinen Sinn macht, weil so niemand programmiert...
Ich hoffe mir kann jemand eine tolle Erklärung geben, damit ich das raffe
Hier mein Code
Ich habe eine Aufgabe gehabt in welcher ich einen Mittelwert errechnen sollte siehe Code.
Nun ist eine Folgeaufgabe, welche fragt, was passiert:
a)wenn die Berechnung in einer Paint Methode und was wenn sie in einer
b)Start Methode des Applets eingebaut wird
c)und unter welchen Bedingungen die Berechnungen durchgeführt werden.
Ich hab hier im Forum schon selbe Aufgaben gefunden, aber irgendwie sind die Lösungsvorschläge dennoch verwirrend.
ich habe zu a) In der Startmethode kann nicht berechnet werden, da die Start-Methode direkt nach Aufruf des Applets aufgerufen wird und so noch keine Daten eingegeben sind. Es folgt die Exception dass Strings erwartet werden in der Eingabe.
Ergo; man kann nicht rechnen in der Startmethode, es sei denn man gibt den Variablen, welche zur Berechnung sind einen startwert an.
zu b) man kann in der paint-Methode die berechnung durchführen, da es dann eine überschriebene Methode der paint-methode aus der Klasse java.applet.Applet ist (?).
Bedingung: Die paint methode muss eine andere Signatur aufweisen, als die Paint-Methode aus java.applet.Applet
Mein Tutor lacht sich schon schlapp über meine Doofheit ^^
Er schreibt: Sie liegen daneben, Machen Sie erst folgendes:
- schreiben Sie eine paint- und eine start-Methode, und geben dort mit einem System.out aus:
"Start aufgerufen"
bzw.
"Paint aufgerufen"
Machen Sie dann so einige Dinge mit Ihrem Applet, so dass die Ausgabe erscheint.
Aber bitte, rufen Sie die beiden Methoden auf keinen Fall manuell auf.
Versteh die ganze Aufgabe nicht. Zumal mir gesagt wurde, dass diese Aufgabe keinen Sinn macht, weil so niemand programmiert...
Ich hoffe mir kann jemand eine tolle Erklärung geben, damit ich das raffe
Hier mein Code
Java:
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) {
start();
}
if(e.target == bLoeschen && e.id == Event.ACTION_EVENT) {
loeschenClicked();
}
return false;
}*/
public void start() {
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("");
}
}