protected void drawImage(Graphics2D g) { BufferedImage image = getBufferedImage(); if (image != null) { g.drawImage(image, (int) rectangle.x, (int) rectangle.y, (int) rectangle.width, (int) rectangle.height, null); } else { g.setStroke(new BasicStroke()); g.setColor(Color.red); g.draw(rectangle); g.draw(new Line2D.Double(rectangle.x, rectangle.y, rectangle.x + rectangle.width, rectangle.y + rectangle.height)); g.draw(new Line2D.Double(rectangle.x + rectangle.width, rectangle.y, rectangle.x, rectangle.y + rectangle.height)); } }