使用数组绘制单元格行(Java)

时间:2019-12-29 20:54:37

标签: java arrays graphics paint drawrect

我必须制作一个Java程序,使用数组显示正方形的行。

这是我的代码:

for {
     select {
        case <-done:
           return
        case i, ok:= <-intstream:
           if !ok {
              return
           }
           select {
               case <- done:
                    return
               case addedStream <- i + additive:
           }
     }
}

我需要有多行。它必须全部在一个数组中,以便我可以使用数组索引读取每个正方形。

1 个答案:

答案 0 :(得分:0)

不清楚,您想要什么...

@Override public void
paint(Graphics g) 
{
  for(int col=0; i<*your colums*; ++i)
  {
    for(int row=0; i<*your rows*; ++i)
    {
      g.drawRect(cellWidth *col, cellHeight *row,
                 cellWidth, cellHeight);
    }
  }
}

要获取坐标值:

单元格y为cellWidth *column,单元格x为cellHeight *row

我可以想象的另一种方法是每个单元格都是一个对象

public class
Cell
{
  public static final int
  WIDTH= *your cell width*,
  HEIGHT= *your cell height*;

  public int
  x, y;

  public
  Cell(int col, int row)
  {
    x= col* WIDTH;
    y= row* HEIGHT;
  }

  public void
  draw(Graphics g)
  {
    g.drawRect(x, y, WIDTH, HEIGHT);
  }
}

用法:

初始化

int
COLUMNS= *your colums*,
ROWS= *your rows*;

Cell[]
cells=new Cell[COLUMNS][ROWS];

for(int col=0; i<COLUMNS; ++i)
{
  for(int row=0; i<ROWS; ++i)
  {
    cells[col][row]=new Cell(col, row);
  }
}

绘制

@Override public void
paint(Graphics g) 
{
  for(Cell[] cell_col)
  {
    for(Cell cell : cell_col)
    {
      cell.draw(g);
    }
  }
}

要获取坐标值:

单元格x是cells[column][row].x,单元格y是单元格x是cells[column][row].y