Hola, estoy tratando de pintar un gráfico de barras usando g.fillRect() para hacer cada barra.
Las barras comenzarán a la altura de la cuadrícula, y: 700, y se llenarán hacia arriba hasta y: 350, por ejemplo.
No puedo establecer una altura x negativa para mi barra:
public void paint(Graphics g) { for (Bar b : this.bars) { g.fillRect(b.x_location,b.y_location,b.width,b.height * (-1)); } }Esto no pintará las barras.
Arreglar:
public void paint(Graphics g) { for (Bar b : this.bars) { g.fillRect(b.x_location,b.y_location - b.height,b.width,b.height); } }No puede, debido a la forma en que funciona la API, se extiende hacia abajo y hacia la derecha. En su lugar, reste la distancia de la coordenada y y mantenga la altura como un valor positivo
De los JavaDocs
Rellena el rectángulo especificado. Los bordes izquierdo y derecho del rectángulo están en x y x + ancho - 1. Los bordes superior e inferior están en y y y + alto - 1. El rectángulo resultante cubre un área de ancho en píxeles de ancho por alto en píxeles de alto. El rectángulo se rellena con el color actual del contexto gráfico.
Si bien no es un duplicado directo, este ejemplo demuestra los conceptos básicos