Hi ihr Meister,
Ich bin an Java interessiert, hab keine Ahnung, mir einfach mal nen paar Applets angeschaut und dachte daraufhin: "Probier ich auch mal". Gedacht - Getan. Mein Applet soll eigentlich nur nen Label und nen Button besitzen und wenn der Button gedrückt wird, werden 2 integer-variablen addiert und auf dem label ausgegeben. Funzt bloß nicht. Ist aber auch kein wunder, da das applet ja ohne ahnung vom java-syntax "zusammengeklemmpnert" wurde (Deswegen auch Anfängerforum). Was ist bitte an folgendem Quelltext falsch:
Mist, als Gast kann man nicht editieren...
Ich sollte vielleicht noch erwähnen, was nicht funzt... Nach einbinden in html seh nich nen schönes graues Applet mit nix drin^^
Mist, als Gast kann man nicht editieren...
Ich sollte vielleicht noch erwähnen, was nicht funzt... Nach einbinden in html seh nich nen schönes graues Applet mit nix drin^^
Hm, hast du mal versucht das Applet anders darzustellen (AppletViewer) ?
Das mit dem grauen Fester / Applet ist bei mir seltsamerweise auch so..und zwar bei allen Anwendungen,etc.
Was bei mir hilft ist kurz die Auflösung zu verstellen (meistens von 16 auf 32 bit)..
ist nun wirklich keine 'Lösung', aber so könntest du rausfinden obs am applet selbst liegt oder irgendetwas mit deiner JVM net stimmt..
Das JDK neu zu installieren hab ich auch mehrmals versucht, auch unterschiedliche Versionen, k.A. woran das liegt. Ich hab aber auch schon von andern von grauen Fenstern gehört.. scheint systemunabhängig zu sein, viel mehr kann ich dazu aber auch nicht sagen ???:L
Zu dem Problem mit der grauen Appletfläche im Browser liest du bitte mal in der FAQ nach.
Ich habe dir mal aus deinem Quellcode ein funktionierendes Applet geschrieben.
Ich habe bewusst einige Zeilen mehr geschrieben, um dir bestimmte Abläufe zu zeigen.
Testen kannst du das Applet hier.
Java:
importjava.awt.*;importjava.awt.event.*;importjava.applet.*;publicclassButtonSummeextendsAppletimplementsActionListener{privateLabel ausgabe;privateButton startBtn;privateTextField aValueTf, bValueTf;publicvoid init (){
setLayout (newGridLayout(2,2));
aValueTf =newTextField();
bValueTf =newTextField();add(aValueTf);add(bValueTf);
startBtn =newButton("Summe =");
startBtn.addActionListener(this);add(startBtn);
ausgabe =newLabel();add(ausgabe);}publicvoid actionPerformed (ActionEvent e){Object quelle = e.getSource();//ActionEvent nach dem Auslöser fragenif(quelle == startBtn){String a = aValueTf.getText();//Eingaben aus Textfeldern holenString b = bValueTf.getText();int x =Integer.parseInt(a);//Zeichenkette zu ganzen Zahlen parsenint y =Integer.parseInt(b);int z = x + y;String c =String.valueOf(z);//int zu Zeichenkette verwandeln
ausgabe.setText(c);//Ausgabe auf dem Label}}}
Da es auch vorkommen kann, dass Buchstaben in die Textfelder eingegeben werden, empfiehlt es sich außerdem, die Eingaben auf Korrektheit zu prüfen.
Dazu gibt es bspw. aus der Klasse Character die Methode isLetter() oder isDigit() mit denen man auf Buchstaben oder Zahlen prüfen kann.
Möglich wäre auch das Parsen in einen try-catch-Block zu legen und die NumberFormatException zu fangen.
und der passende HTML-Code:
HTML:
<html><head><title>ButtonSumme-Applet</title></head><body><appletcode="ButtonSumme.class"width="200"height="50">
Kein Java aktiv, bitte Java in den Browsereinstellungen aktivieren.
</applet></body></html>
Jap, danke, aber hab ich inzwischen auch selbst geschafft. Woher auch immer du wusstest, dass das Applet mal genauso aussehen sollte . Am besten ich guck mir erstmal die ganzen verschiedenen layouts an. Ach ja, ne Konsolenanwendung kann ich ja schließlich auch mit Turbo Pascal schreiben ...