Hallo,
Bei dem folgendem Programm erscheint die Fehlermeldung:
at SteuerungsPanel$ButtonHandler.actionPerformed(SteuerungsPanel.java:45)
Zum Programm:
Der Benutzer kann die Anzahl der Rechtecke eingeben die erzeugt werden sollen.
Wenn der Benutzer die Zahl eingegeben hat, soll er auf Bestätigen klicken und es
sollte soviele Rechtecke erzeugt werden.
Ausgabe-Klasse
Steuerungs-Klasse
Zeichnungs-Klasse
mfg
Bei dem folgendem Programm erscheint die Fehlermeldung:
at SteuerungsPanel$ButtonHandler.actionPerformed(SteuerungsPanel.java:45)
Zum Programm:
Der Benutzer kann die Anzahl der Rechtecke eingeben die erzeugt werden sollen.
Wenn der Benutzer die Zahl eingegeben hat, soll er auf Bestätigen klicken und es
sollte soviele Rechtecke erzeugt werden.
Ausgabe-Klasse
Code:
package myapplet;
import java.applet.Applet;
public class Ausgabe extends Applet{
public void init() {
SteuerungsPanel sp=new SteuerungsPanel();
this.add(sp);
}
}
Steuerungs-Klasse
Code:
package myapplet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
public class SteuerungsPanel extends Panel{
private Button bestaetigen;
private TextField eingabe;
private RechteckZeichnung rz;
public SteuerungsPanel() {
this.setLayout(new GridLayout(1,2));
eingabe=new TextField(15);
this.add(eingabe);
bestaetigen=new Button("Bestätigen");
this.add(bestaetigen);
TextfieldListener tfl = new TextfieldListener();
eingabe.addTextListener(tfl);
ButtonHandler bh=new ButtonHandler();
bestaetigen.addActionListener(bh);
}
private class TextfieldListener implements TextListener {
@Override
public void textValueChanged(TextEvent arg0) {
// TODO Auto-generated method stub
}
}
private class ButtonHandler implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == bestaetigen) {
int a=Integer.parseInt(eingabe.getText());
rz.setAnzahl(a);
rz.repaint();
}
}
}
}
Zeichnungs-Klasse
Code:
package Spiel;
import java.awt.*;
import java.awt.Graphics;
import java.awt.Panel;
/*
* Diesesn Programm kann mehrere Rechtecke erzeugen und löschen
* @author Umut Delil
* @version 2009-03-13
*/
public class RechteckZeichnung extends Panel {
private int anzahl;
private int r;
private int g;
private int b;
public void paint(Graphics h) {
for(int x2=0; x2<this.anzahl; x2++) {// Je nachdem, was der Benutzer geklickt/gedrückt hat, werden soviele Rechtecke gezeichnet
r=(int)(Math.random()*255); //Zufallszahl, für die Farbe
g=(int)(Math.random()*255);
b=(int)(Math.random()*255);
h.setColor(new Color(r, g, b)); //Neue Farbe wird erzeugt
h.fillRect((int)(Math.random()*(super.getWidth()-(20))),(int)(Math.random()*(super.getHeight()-(20))) , 20, 20);
//Rechteckt wird gezeichnet
}
}
public int getAnzahl() {
return anzahl;
}
public void setAnzahl(int anzahl) {
this.anzahl = anzahl;
}
}
mfg