Hatebreed89
Grünschnabel
Hallo,
ich komme mit meiner Aufgabe nicht weiter.
Ich hoffe ihr könnt mir helfen.
Bei dem Applet ist ein Hintergrundbild (Hotel) mit 4 Fensterreihen a 9 Fenster(also 4 Stockwerke, jedes hat 9 Fenster)
Meine Aufgabe ist es, die Fenster die grün markiert sind beim draufklicken rot zu färben
aber ich bekomme es einfach nicht hin dass alle Fenster rot bleiben, da es nur in den ersten 2 reihen funktionier (also nicht zeile 3 und 4, da funktioniert es net)
ich hoffe ihr könnt mir helfen
ich wäre euch sehr dankbar
mfg Hatebreed
ich komme mit meiner Aufgabe nicht weiter.
Ich hoffe ihr könnt mir helfen.
Bei dem Applet ist ein Hintergrundbild (Hotel) mit 4 Fensterreihen a 9 Fenster(also 4 Stockwerke, jedes hat 9 Fenster)
Meine Aufgabe ist es, die Fenster die grün markiert sind beim draufklicken rot zu färben
aber ich bekomme es einfach nicht hin dass alle Fenster rot bleiben, da es nur in den ersten 2 reihen funktionier (also nicht zeile 3 und 4, da funktioniert es net)
ich hoffe ihr könnt mir helfen
ich wäre euch sehr dankbar
Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
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};
boolean[] zeile1 = new boolean[zx.length];
boolean[] zeile2 = new boolean[zx.length];
boolean[] zeile3 = new boolean[zx.length];
boolean[] zeile4 = new boolean[zx.length];
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);
}
}
g.setColor (Color.decode (farbe));
for(int i = 0; i< zx.length; i++)
{
if (k==1)
{
if(zeile1[i])
g.fillRect (zx[i], zy[0], 10, 20);
if(zeile2[i])
g.fillRect (zx[i], zy[1], 10, 20);
if(zeile3[i])
g.fillRect (zx[i], zy[2], 10, 20);
if(zeile4[i])
g.fillRect (zx[i], zy[3], 10, 20);
// k=0;
}
}
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];
if(j == 0)
{
zeile1[i] = true;
}
else if(j == 1)
{
zeile2[i] = true;
}
else if(j == 2)
{
zeile3[i] = true;
}
else
{
zeile4[i] = true;
}
repaint();}
}
}
}
public void mouseEntered(MouseEvent evt) { }
public void mouseExited(MouseEvent evt) { }
public void mouseClicked(MouseEvent evt) { }
public void mouseReleased(MouseEvent evt) { }
}
mfg Hatebreed