2010-01-08 22 views
6

Estoy usando la clase java.awt.geom.Rectangle2D.Double para generar un rectángulo. Quiero generar un rectángulo que se rellene con un color (por ejemplo, verde) y que tenga un borde (contorno).Problema al generar el borde de un rectángulo en Java?

Ahora el problema es si llamo

g2.draw(new Rectangle2D.Double(....)); // g2 is an instance of Graphics2D 

entonces no llena el rectángulo y cuando llamo

g2.fill(new Rectangle2D.Double(....)); // g2 is an instance of Graphics2D 

continuación Identificación no genera frontera.

+0

Dan y Samuel tienen razón. Es lógico también 'fill' llena toda el área rectangular, incluido el área ocupada por el borde que acaba de dibujar. Es hora de sacar tu pie de la línea de fuego :) –

Respuesta

5

¿Qué le parece hacer las dos cosas? Primero dibuje el rectángulo relleno y luego dibuje el contorno uno sobre la parte superior.

11

Para hacer esto, renderice el rectángulo dos veces, primero el relleno y luego el borde (dibujar).

Rectangle2D rect = new Rectangle2D.Double(...); 
g2.setColor(Color.white); 
g2.fill(rect); 
g2.setColor(Color.black); 
g2.draw(rect);
Cuestiones relacionadas