Рисование нескольких линий в BufferedImage

Я пытаюсь нарисовать горизонтальные и вертикальные линии на буферном изображении. В итоге он должен выглядеть как сетка ячеек. Но когда я запускаю код, Я вижу только две строки: крайнюю левую строку и самую верхнюю строку (т.е. строку от 0,0 до 0, высоту изображения и 0,0 до ширины изображения, 0) Вот фрагмент кода:

  BufferedImage mazeImage = new BufferedImage(imgDim.width, imgDim.height, BufferedImage.TYPE_INT_RGB);
  Graphics2D g2d = mazeImage.createGraphics();
  g2d.setBackground(Color.WHITE);
  g2d.fillRect(0, 0, imgDim.width, imgDim.height);
  g2d.setColor(Color.BLACK);
  BasicStroke bs = new BasicStroke(2);
  g2d.setStroke(bs);
  // draw the black vertical and horizontal lines
  for(int i=0;i<21;i++){
   g2d.drawLine((imgDim.width+2)*i, 0, (imgDim.width+2)*i,  imgDim.height-1);
   g2d.drawLine(0, (imgDim.height+2)*i, imgDim.width-1, (imgDim.height+2)*i);
  }

И переопределенный метод рисования:

public void paint(Graphics g) {
  g.drawImage(mazeImage, 0, 0, this);
}

Это все в классе под названием RobotMaze, который расширяет JPanel. Любая помощь приветствуется.

7
задан Andrew Thompson 26 August 2015 в 14:47
поделиться