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

时间:2014-12-04 13:19:20

标签: java processing

我正在使用此代码按下按钮绘制条形图,它可以工作。但是如果按下相同的按钮,我希望条形图再次隐藏。

请你帮我一下吗?

这是我在按钮内的代码:

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");

      }
     }

    }

1 个答案:

答案 0 :(得分:0)

我认为我们需要更多代码来帮助您。这部分代码的方式让我猜你没有在你的抽奖中使用background(someColor),对吗?

我认为要走的路是:

  • 使用callBack函数mousePressed()代替字段mousePressed。这将为您提供更好的控制

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

  • {li>

    draw()使用background()

    清除bg
  • 然而在draw()有条件地绘制图表。

这是一个使用简单的rect作为图表占位符的示例:

// CLICK THE SCREEN TO SHOW THE "GRAPH"

boolean showGraph = false;


void setup(){
  size(300,300);
  rectMode(CENTER);
  background(255);
}


void draw(){
  //clear bg
  background(255);

  //conditionally draw
  if(showGraph){
    drawGraph();
  }
}


void mousePressed(){
  showGraph = !showGraph; // toggles true or false
}


void drawGraph(){
  fill(200,23,178);
  rect(width/2, height/2, 100,88);
}