处理Java时,如何通过按按钮显示/隐藏条形图?

处理Java时,如何通过按按钮显示/隐藏条形图?,java,processing,Java,Processing,我正在做这个代码,通过按下按钮来绘制条形图,它可以工作。但是如果我按下同一个按钮,我希望条形图再次被隐藏 好心的,你能帮我吗? 这是我在按钮内的代码: if (mousePressed) { // film 1 if (( mouseX > 1150) && (mouseY > 38) && (mouseX < 1207) && (mouseY < 65)) { int x=0;

我正在做这个代码,通过按下按钮来绘制条形图,它可以工作。但是如果我按下同一个按钮,我希望条形图再次被隐藏

好心的,你能帮我吗? 这是我在按钮内的代码:

if (mousePressed) 
  { // film 1

    if (( mouseX > 1150) && (mouseY > 38) && (mouseX < 1207) && (mouseY < 65))
    {
      int x=0;
      text("Rank    Country    Film",25,10);
      int tRows = table1.getRowCount();

      for(int i = 0; i < tRows; i++)
      {
        TableRow row = table1.getRow(i);
        String r1 = row.getString("film");
        String r2 = row.getString("country");
        float r3 = row.getFloat("boxoffice");
        int r4 = row.getInt("rank");

        fill(255,0,0);
        pushMatrix();
        translate (0,25);
        int legendXOffset = 20;
        textFont(f,9);

        text(r4,legendXOffset,i*11);
        text(r2,legendXOffset + 20,i*11);
        text(r1,legendXOffset + 70,i*11);
        popMatrix();

        float h = map(r3, 15, 0, 0, 80);
        // change this one oamr x+30, x+=20 to make bars sepretly
        rect(x+29, 635, 7, h);
        x+=50;
        int rank = row.getInt("rank");
        String film = row.getString("film");
        String country = row.getString("country");

      }
     }

    }
if(鼠标按下)
{//电影1
如果((mouseX>1150)&&(mouseY>38)&(mouseX<1207)&(mouseY<65))
{
int x=0;
文本(“Rank Country Film”,25,10);
int-tRows=table1.getRowCount();
for(int i=0;i
我想我们需要更多的代码来帮助您。这部分代码的使用方式让我猜测您在绘图中没有调用
background(someColor)
,对吗

我认为要走的路是:

  • 使用回调函数
    mousePressed()
    而不是字段
    mousePressed
    。这会给你更好的控制

  • 使用布尔值作为标记来绘制或不绘制条形图。按下按钮时切换此标志

  • draw()
    中,使用
    background()清除背景()

  • 然而在
    draw()
    中有条件地绘制图形

下面是一个使用简单rect作为图形占位符的示例:

//单击屏幕显示“图形”
布尔showGraph=false;
无效设置(){
尺寸(300300);
矩形模式(中心);
背景(255);
}
作废提款(){
//清除背景
背景(255);
//有条件地提取
if(显示图){
绘图();
}
}
void mousePressed(){
showGraph=!showGraph;//切换为真或假
}
void drawGraph(){
填补(200,23178);;
矩形(宽度/2,高度/2100,88);
}

非常感谢您的回复,这是我的代码,第一个按钮可以使用,但另一个按钮不行。这是您的全部代码吗?我不这么认为。我相信问题不在于这段代码,而在于整个结构。