Java - Problema con Cuadricula en JPanel

   
Vista:

Problema con Cuadricula en JPanel

Publicado por Makros (14 intervenciones) el 27/05/2013 19:42:48
Rapido y conciso,

Tengo un JPanel en el que quiero dibujar una cuadricula de X por Y que le paso al constructor del JPanel

1
2
3
4
5
6
7
8
9
10
11
public PanelEspacioCelular(int celulasX, int celulasY) {
		this.celulasX = celulasX;
		this.celulasY = celulasY;
		espacio = new EspacioCelular(celulasX, celulasY);
 
		int filasPanel = celulasY * EspacioCelular.TAMCELULA + (EspacioCelular.TAMCELULA + 1);
		int columnasPanel = celulasX * EspacioCelular.TAMCELULA + (EspacioCelular.TAMCELULA + 1);
		/*Tamaño del JPanel*/
		setPreferredSize(new Dimension(filasPanel, columnasPanel));
		setBackground(Color.WHITE);
	}


Al visualizarlo en la clase donde tengo la ventana principal consigo que me dibuje todas las celdas que le he indicado, pero las lineas siguen prolongandose. Utilizo la clase Graphics para dibujar lineas sobre el JPanel.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**Dibujamos la linea divisoria*/
	public void paint(Graphics g) {
		super.paint(g);
		g.setColor(Color.BLACK);
		int auxFila, auxColumna;
 
		//FILAS (Margen = EspacioCelular.TAMCELULA + 1).//
		for (int i = 0; i <= espacio.getFilas(); i++) {
			auxFila = i*(EspacioCelular.TAMCELULA + 1);
			g.drawLine(EspacioCelular.TAMCELULA+1, auxFila, getHeight(), auxFila);
		}
 
		//COLUMNAS (Margen = EspacioCelular.TAMCELULA + 1).
		for (int j = 0; j <= espacio.getCols(); j++) {
			auxColumna = j*(EspacioCelular.TAMCELULA + 1);
			g.drawLine(auxColumna, EspacioCelular.TAMCELULA+1, auxColumna, getWidth());
		}
	}



Lo que quiero es que se corten al terminar la última de las filas y la ultima de las columnas respectivamente. No encuentro la manera.

¿Alguna ayuda?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder