void (Graphics g) { Graphics2D g2 = (Graphics2D) g; final Object old = g2.getRenderingHint(RenderingHints.KEY_ANTIALIASING); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setColor(getBoundsColor()); Line2D line = new Line2D.Double(); switch (myOrientation) { case Callout.NORTH_WEST -> line.setLine(0, 0, getWidth() - 1, getHeight() - 1); case Callout.NORTH_EAST -> line.setLine(getWidth() - 1, 0, 0, getHeight() - 1); case Callout.SOUTH_EAST -> line.setLine(getWidth() - 1, getHeight() - 1, 0, 0); case Callout.SOUTH_WEST -> line.setLine(0, getHeight() - 1, getWidth() - 1, 0); } LinePainter2D.paint(g2, (int)line.getX1(), (int)line.getY1(), (int)line.getX2(), (int)line.getY2()); final Shape arrow = LineEndDecorator.getArrowShape(line, line.getP2()); g2.fill(arrow); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, old); }