Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试创建一个方法,该方法采用鼠标单击的位置,并应返回作为所选单元格的单元格编号_Java_Function_For Loop_Processing - Fatal编程技术网

Java 尝试创建一个方法,该方法采用鼠标单击的位置,并应返回作为所选单元格的单元格编号

Java 尝试创建一个方法,该方法采用鼠标单击的位置,并应返回作为所选单元格的单元格编号,java,function,for-loop,processing,Java,Function,For Loop,Processing,我想创建并调用一个方法来检查网格上是否发生了单击。此方法应位于鼠标单击的位置,并应返回作为选定单元格的单元格编号。如果单击了某个单元格,则需要确定单击了哪个单元格并返回该单元格 号码。确保如果已选择单元格,且用户未选择新单元格,则旧单元格 选定单元格仍保持选定状态。如果用户在某个单元格中单击,并且该特定单元格 已选择,应取消选择。在这种情况下,它应该返回-1。 我这样做是为了获取单元格编号,但无法确保它保持选中状态,也无法返回-1以取消选中 int cellSelected(int x, int

我想创建并调用一个方法来检查网格上是否发生了单击。此方法应位于鼠标单击的位置,并应返回作为选定单元格的单元格编号。如果单击了某个单元格,则需要确定单击了哪个单元格并返回该单元格 号码。确保如果已选择单元格,且用户未选择新单元格,则旧单元格 选定单元格仍保持选定状态。如果用户在某个单元格中单击,并且该特定单元格 已选择,应取消选择。在这种情况下,它应该返回-1。 我这样做是为了获取单元格编号,但无法确保它保持选中状态,也无法返回-1以取消选中

int cellSelected(int x, int y){
  int selected=-2;
  int left=40;

  for(int num=0; num<=12*8; num++)
  {
    int col = num%8;
    int row = num/8;
    left = 40+CELL_SIZE*col;
    int right = left+CELL_SIZE;
    int top = 40+CELL_SIZE*row;
    int bottom = top+CELL_SIZE;
    if (x >= left && x < right && y >= top && y < bottom)
    {
      selected = num;

    }
   }
  return selected;
}
intcellselected(intx,inty){
选定的整数=-2;
int左=40;
对于(int num=0;num=left&&x=top&&y
要计算单元格的索引,只需将鼠标相对位置(相对于网格原点)除以单元格大小即可

intcellselected(intx,inty){
//鼠标相对于栅格的位置
int px=x-40;
int-py=y-40;
//计算鼠标是否在网格中,返回-1 else
int cols=8;
int行=12;
如果(px<0 | | py<0 | | px>cols*单元格大小| | px>cols*单元格大小){
返回-1;
}
//计算单元索引(单元的行和列)
int col=像素/单元大小;
int row=py/单元大小;
//单元格的返回索引
返回行*cols+col;
}

@rabbi76。我的错误。我没有仔细阅读。谢谢你的那部分。现在如果我想返回-1,如果我再次点击同一单元格,我该怎么做??请提供帮助。@ArshdeepSekhon您必须存储上次“单击”的单元格的索引,并评估是否再次单击。