private void applyFocusAndHover(PanePainter pane, boolean active) { if (active) { for (int i = 0; i < tabData.getTabCount(); i++) { Tab tab = (Tab) tabData.getTabList().get(i); if (tab.getFocusableComponent() != null && tab.getFocusableComponent().hasFocus()) { pane.setMouseEntered(true); pane.setFocusActive(true); break; } } if (hoveredTab != null) { for (int i = 0; i < tabData.getTabCount(); i++) { Tab tab = (Tab) tabData.getTabList().get(i); if (tab == hoveredTab) { pane.setMouseEntered(true); pane.setHoveredTab(i); break; } } } } else { pane.setFocusActive(false); pane.setMouseEntered(false); } }