void (Graphics g) { super.paintComponent(g); if (StartupUiUtil.isUnderDarcula() || UIUtil.isUnderIntelliJLaF()) { return; } if (getState() == State.DONT_CARE) { Icon icon = getIcon(); if (icon == null) { icon = UIManager.getIcon("CheckBox.icon"); } if (StartupUiUtil.isUnderDarcula() || UIUtil.isUnderIntelliJLaF()) { icon = JBUIScale.scaleIcon(EmptyIcon.create(20, 18)); } if (icon != null) { final Insets i = getInsets(); final Rectangle r = getBounds(); final Rectangle r1 = new Rectangle(); r1.x = i.left; r1.y = i.top; r1.width = r.width - (i.right + r1.x); r1.height = r.height - (i.bottom + r1.y); final Rectangle r2 = new Rectangle(); final Rectangle r3 = new Rectangle(); String text = getText(); SwingUtilities.layoutCompoundLabel( this, getFontMetrics(getFont()), text, icon, getVerticalAlignment(), getHorizontalAlignment(), getVerticalTextPosition(), getHorizontalTextPosition(), r1, r2, r3, text == null ? 0 : getIconTextGap()); // selected table cell: do not paint white on white g.setColor(UIUtil.getTreeForeground()); int height = r2.height / 10; int width = r2.width / 3; g.fillRect(r2.x + r2.width / 2 - width / 2, r2.y + r2.height / 2 - height / 2, width, height); } } }