/** * method to draw the tail of the balloon * * @param ellipseHeight the height of the ellipse * @param fillColor the color to bill the balloon with * @param outlineColor the color to outline the balloon with * @param g2 the 2d graphics context */ protected void drawTail(int ellipseHeight, Color fillColor, Color outlineColor, Graphics2D g2) { Point tailEnd = getTailEnd(); Point upperLeft = getUpperLeft(); int margin = getMargin(); int halfWidth = getWidth() / 2; int topY = upperLeft.y + ellipseHeight; int startX = upperLeft.x + halfWidth - margin; int endX = upperLeft.x + halfWidth + margin; GeneralPath triangle = new GeneralPath(GeneralPath.WIND_EVEN_ODD, 3); triangle.moveTo(startX, topY); triangle.lineTo(endX, topY); triangle.lineTo(tailEnd.x, tailEnd.y); triangle.lineTo(startX, topY); g2.setColor(fillColor); g2.fill(triangle); g2.setColor(outlineColor); g2.draw(new Line2D.Double(tailEnd.x, tailEnd.y, startX, topY)); g2.draw(new Line2D.Double(tailEnd.x, tailEnd.y, endX, topY)); }