Hatebreed89
Grünschnabel
Hallo zusammen,
vlt. könnt ihr mir ja helfen.
Der folgende Code hat grüne fenster und ändert bei klicken auf ein Fenster dessen Farbe in rot
wenn man dann auf das nächste fenster klickt, wir das auch rot, nur das letzte wird dann wieder grün
könnt ihr mir sagen wie man das hinbekommt, dass alle fenster, die bereits angeklickt wurden auch rot bleiben?
ich wäre euch sehr dankbar
Vielen Dank im voraus schonmal
mfg Hatebreed
vlt. könnt ihr mir ja helfen.
Der folgende Code hat grüne fenster und ändert bei klicken auf ein Fenster dessen Farbe in rot
wenn man dann auf das nächste fenster klickt, wir das auch rot, nur das letzte wird dann wieder grün
könnt ihr mir sagen wie man das hinbekommt, dass alle fenster, die bereits angeklickt wurden auch rot bleiben?
ich wäre euch sehr dankbar
Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class aufgabe2 extends Applet implements MouseListener {
Image hotel1;
String farbe = "#ff0000";
String farbe1 = "#00ff00";
int zx [] = {10, 60, 190, 240, 286, 329, 379, 501, 546 };
int zy [] = {140, 180, 220, 260};
int k=0;
int x=0;
int y=0;
public void init() {
hotel1 = getImage (getDocumentBase (), "hotel.gif");
this.addMouseListener(this);
}
public void paint (Graphics g){
g.drawImage(hotel1,0,0,this);
for (int j=0; j<=3; j++){
for (int i=0; i<=8; i++){
g.setColor (Color.decode (farbe1));
g.fillRect (zx[i], zy[j],10, 20);
}
}
if (k==1){
g.setColor (Color.decode (farbe));
g.fillRect (x, y,10, 20);
k=0;
}
}
public void mousePressed(MouseEvent evt) {
boolean b = false;
x = evt.getX();
y = evt.getY();
for (int j=0; j<=3; j++){
if ((y>zy[j])&&(y<zy[j]+20)){b=true;}
for (int i= 0; i<=9; i++){if (b && (x > zx[i]) && (x < zx[i]+10)) { k=1; b= false;x=zx[i]; y=zy[j];repaint();}
}
}
}
public void mouseEntered(MouseEvent evt) { }
public void mouseExited(MouseEvent evt) { }
public void mouseClicked(MouseEvent evt) { }
public void mouseReleased(MouseEvent evt) { }
}
Vielen Dank im voraus schonmal
mfg Hatebreed