处理填充问题的清单

时间:2017-05-11 16:27:03

标签: java class button processing fill

所以我在处理中有这个清单代码,我希望能够单击列表中的一个按钮,并让该按钮填充为黑色,但每次都是。我让那个部分只用一个按钮,但每当我在课堂上实现更多按钮并单击一个按钮时,它就会填充每一个按钮。我尝试过使用pushMatrix / popMatrix& pushStyle / popStyle,但每次我这样做时,单击按钮时按钮都不会改变颜色。如果有人可以告诉我该怎么做,那将非常感激。

这里是按钮类:

class Button {
// Other optional attributes could be r, g, and b values for examples
int xLoc;
int yLoc;
int wide;
int tall;
int fill;
boolean checked;

Button(int x, int y, int w, int h, int f) {
xLoc = x;
yLoc = y;
wide = w;
tall = h;
fill = f;
}

void display() {
//fill with blue green and create the rect 
fill(fill);
if (mousePressed) {
  if (button1.isClicked() == true) {
    fill = 0;
  }
}
ellipse(xLoc, yLoc, wide, tall);
}

// returns true if the mouse is over the button and false otherwise
boolean isClicked() {
if (mouseX > xLoc && mouseX < xLoc + wide) {
  if (mouseY > yLoc && mouseY < yLoc + tall) {
    return true;
  }
}
return false;
}

boolean isChecked() {
if (fill == 0) {
  return true;
} else {
  return false;
}
}
}

以下是主要代码:

Button button1 = new Button(50, 50, 20, 20, 255);
Button button2 = new Button(50, 75, 20, 20, 255);
Button button3 = new Button(50, 100, 20, 20, 255);
Button button4 = new Button(50, 125, 20, 20, 255);

void setup() {
size(500, 500);
}

void draw() {
background(50);
button1.display();
button2.display();
button3.display();
button4.display();
}

0 个答案:

没有答案