2010-01-08 2 views
6

Я использую класс java.awt.geom.Rectangle2D.Double для создания прямоугольника. Я хочу создать прямоугольник, который заполнен цветом (например, зеленым) и иметь границу (контур).Проблема в создании границы прямоугольника в Java?

Теперь проблема, если я называю

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

тогда не заполняет прямоугольник и когда я называю

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

тогда идентификатор не создает границу.

+0

Дэн и Самуил оба справа. Это тоже логично. 'fill' заполняет всю прямоугольную область, включая область, занятую границей, которую вы только что нарисовали. Время вытащить ногу из линии огня :) –

ответ

5

Как насчет того, чтобы сделать оба? Сначала нарисуйте заполненный прямоугольник, а затем нарисуйте контур над верхней частью.

11

Для этого визуализируйте прямоугольник дважды, сначала заполните, а затем рамку (рисовать).

Rectangle2D rect = new Rectangle2D.Double(...); 
g2.setColor(Color.white); 
g2.fill(rect); 
g2.setColor(Color.black); 
g2.draw(rect);
Смежные вопросы