Hallöchen,
ich habe jetzt angefangen Java zu studieren und zwar in London. Ich habe nun als Coursework eine ziemlich simple Aufgabe bekommen, denk ich mal. Aber ich hab da irgendwo nen Fehler drin, den ich nich finden tue.
Die Aufgabe besteht darin, ein Applet zu programmieren mit vier Buttons, und wenn man auf die Gleichen klickt werden verschiedene Shapes angezeigt. Mein Fehler sieht nun so aus, dass ich die Buttons nur von rechts nach links betätigen, wenn ich es von der anderen Seite aus mache, zeigt er mit nur die erste Shape an. Ich kann also sozusagen die Buttons nich mehrmals drücken.
Also bitte helft mir, ich poste hier mal den Code.
Vielen Dank schonmal im vorraus
nilush ;-)
ich habe jetzt angefangen Java zu studieren und zwar in London. Ich habe nun als Coursework eine ziemlich simple Aufgabe bekommen, denk ich mal. Aber ich hab da irgendwo nen Fehler drin, den ich nich finden tue.
Die Aufgabe besteht darin, ein Applet zu programmieren mit vier Buttons, und wenn man auf die Gleichen klickt werden verschiedene Shapes angezeigt. Mein Fehler sieht nun so aus, dass ich die Buttons nur von rechts nach links betätigen, wenn ich es von der anderen Seite aus mache, zeigt er mit nur die erste Shape an. Ich kann also sozusagen die Buttons nich mehrmals drücken.
Also bitte helft mir, ich poste hier mal den Code.
Code:
/*
* InteractiveApplet
*/
import java.awt.*;
import java.applet.*;
import java.lang.*;
import java.awt.event.*;
public class InteractiveApplet extends Applet implements ActionListener {
private Button circle, rectangle, text, triangle;
private boolean vcircle,vrectangle,vtext,vtriangle = false;
private double sideA = 0;
private double sideB = 0;
private double sideC = 100;
private double height = 100;
private double perimeter = 0;
public void init() {
circle = new Button ("CIRCLE");
add(circle);
circle.addActionListener(this);
rectangle = new Button ("RECTANGLE");
add(rectangle);
rectangle.addActionListener(this);
text = new Button ("TEXT");
add(text);
text.addActionListener(this);
triangle = new Button ("TRIANGLE");
add(triangle);
triangle.addActionListener(this);
}
public void paint(Graphics g) {
if (vcircle == true){
g.setColor(Color.blue);
g.drawOval (50,50,100,100);
}
else
if (vrectangle == true){
g.setColor(Color.red);
g.drawRect (50,50,100,100);
}
else
if (vtext == true){
g.setColor(Color.black);
g.drawString ("My program is working.",100,100);
}
else
if (vtriangle == true){
g.setColor(Color.green);
g.drawLine(100,200,150,100);
g.drawLine(200,200,150,100);
g.drawLine(100,200,200,200);
perimeter = calculation();
g.drawString("The perimeter of the triangle is " +perimeter+ ".",100,250);
}
}
private double calculation(){
sideA = Math.sqrt(Math.pow(height,2) + Math.pow(sideC/2,2));
sideB = Math.sqrt(Math.pow(height,2) + Math.pow(sideC/2,2));
return perimeter = sideA + sideB + sideC;
}
public void actionPerformed(ActionEvent e){
if (e.getSource () == circle)
vcircle = true;
if (e.getSource () == rectangle)
vrectangle = true;
if (e.getSource () == text)
vtext = true;
if (e.getSource () == triangle)
vtriangle = true;
repaint();
}
}
Vielen Dank schonmal im vorraus
nilush ;-)