void (Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h) { if (tabPlacement == BOTTOM || myPaintContentBorder) { boolean leftToRight = isLeftToRight(tabPane); int bottom = y + h - 1; int right = x + w - 1; Rectangle selRect = selectedIndex < 0 ? null : getTabBounds(selectedIndex, calcRect); g.setColor(darkShadow); // Draw unbroken line if tabs are not on BOTTOM, OR // selected tab is not in run adjacent to content, OR // selected tab is not visible (SCROLL_TAB_LAYOUT) // if (tabPlacement != BOTTOM || selectedIndex < 0 || (selRect.y - 1 > h) || (selRect.x < x || selRect.x > x + w)) { LinePainter2D.paint((Graphics2D)g, x, y + h - 1, x + w - 1, y + h - 1); } else { // Break line to show visual connection to selected tab boolean lastInRun = isLastInRun(selectedIndex); if (leftToRight || lastInRun) { LinePainter2D.paint((Graphics2D)g, x, bottom, selRect.x, bottom); } else { LinePainter2D.paint((Graphics2D)g, x, bottom, selRect.x - 1, bottom); } if (selRect.x + selRect.width < x + w - 2) { if (leftToRight && !lastInRun) { LinePainter2D.paint((Graphics2D)g, selRect.x + selRect.width, bottom, right, bottom); } else { LinePainter2D.paint((Graphics2D)g, selRect.x + selRect.width - 1, bottom, right, bottom); } } } } }