Ответ на вопрос в значительной степени зависит от стиля, который вы используете для своего приложения. Я не могу сказать, какой из них вы используете, просто посмотрев на скриншот, потому что вы сильно изменили его и не указали часть кода в своем вопросе, который его устанавливает. Если вы не устанавливаете какой-либо конкретный c one - вы запускаете стандартный стиль Look and Feel, который также может отличаться в зависимости от версий OS / JDK, если я не ошибаюсь.
Так как @ sleepToken уже сказано в комментарии - не публикуйте случайные части вашего кода или весь код, вместо этого публикуйте SSCCE . Хотя иногда вы можете подумать, что это не нужно и / или не связано - во многих случаях это не так, и это помогает тому, кто прочитает и попытается ответить на ваш вопрос, чтобы запустить код и отладить проблему, если необходимо.
При этом я могу дать общий ответ на ваш вопрос: все компоненты окрашены соответствующей реализацией пользовательского интерфейса (TabbedPaneUI
в данном конкретном случае), а в некоторых случаях части кода рисования могут не настраиваться, например, некоторые цвета или другие параметры могут быть жестко запрограммированы. Вы можете просто просмотреть исходный код конкретной реализации пользовательского интерфейса, которую использует ваше приложение, найти код рисования, который вы хотите настроить, и посмотреть, действительно ли он настраивается в первую очередь.
Если ваше приложение использует MetalLookAndFeel
- реализация будет MetalTabbedPaneUI
. Из того, что я могу сказать, посмотрев на его код - он использует цвета из TabbedPane.highlight
, TabbedPane.borderHightlightColor
и TabbedPane.darkShadow
UI по умолчанию для границы. Добавление пользовательского цвета для TabbedPane.highlight
может решить эту проблему, поскольку вы не упомянули, что изменили его в своем вопросе.
Если этого не произойдет - я еще раз рекомендую опубликовать SSCCE вместе с вашим типом / версией ОС на тот случай, если вы используете собственный Look and Feel. Native Look and Feel различается в разных версиях JDK для разных версий ОС и часто использует настраиваемую реализацию пользовательского интерфейса, которая может быть не так настраиваемой.