void (Graphics2D g2, float scale, float x, float y) { Path2D.Float path = new Path2D.Float(); x += scale * 0.25; y += scale; path.moveTo(x, y); path.lineTo(x + 2 * scale, y); path.lineTo(x + 5 * scale, y + 3 * scale); path.lineTo(x + 3 * scale, y + 5 * scale); path.lineTo(x, y + 2 * scale); path.lineTo(x, y); path.closePath(); Ellipse2D hole = new Ellipse2D.Float(x + 1 * scale, y + 1 * scale, scale, scale); Area area = new Area(path); area.subtract(new Area(hole)); g2.fill(area); }