从StdDraw清除文本框以写入新输入

时间:2015-03-13 00:13:11

标签: java class object stddraw

我不确定这是否只是一个简单的问题要回答,因为我使用普林斯顿大学编写的标准绘画课程,我不确定是否#&# 39;一个全球知名的班级。

但我非常感谢那些熟悉StdDraw图书馆的人的反馈。

我想做的事情是相当直接的;检查用户的鼠标是否单击我绘制的输入框,如果单击它,则清除现有文本(简单地说"输入")以使空String

到目前为止它是这样的:

public boolean handleClick(double x, double y) {
 if(!super.handleClick(x,y)){
 value = false;}
 else {
   if(highlighted){
       value = true;
       StdDraw.textLeft(xCentre+0.005,yCentre," ");} //Add the label
   else{
     value = false;}
 }
   return value; //I handled it. Nobody else should.}
}//handleClick

super.handleClick(x,y)只是超类中的一个方法,用于绘制框的尺寸:

 public void draw(){ 
  StdDraw.setPenColor(StdDraw.WHITE);
  StdDraw.filledRectangle(xCentre,yCentre,halfWidth,halfHeight);
  StdDraw.setPenColor(StdDraw.BLACK);
  StdDraw.setPenRadius(); //Default thin line.
  StdDraw.rectangle(xCentre,yCentre,halfWidth,halfHeight);
 }

value只是这个类的一个实例变量,如果满足所有条件,它将返回true

private boolean value;

highlighted是来自超类的boolean实例变量,它简单地表明该框是输入框还是输出框。

我的主要问题是,行

StdDraw.textLeft(xCentre+0.005,yCentre," "); 清除现有文本并使用StdDraw创建空String的正确方法?由于它没有清除这条线,但是我的代码中的其他地方可能存在一个我错过的错误,这条线应该有效吗?

0 个答案:

没有答案