Решено это путем переопределения paintTab в пользовательской реализации пользовательского интерфейса и закрашивания части предыдущей вкладки поверх следующей. Это стало возможным, поскольку paintTab позволяет рисовать по всей области вкладки, а не только в границах вкладки, в которой он рисовал. Пример, если у нас есть вкладки A, B и C:
Tab A рисует свою левую границу и центральную заливку.
Вкладка B закрашивает свою левую границу, заливку по центру, а затем правую границу вкладки A.
Вкладка C закрашивает свою левую границу, центральную заливку, правую границу вкладки B, а затем собственную правую границу (поскольку это последняя вкладка на панели).
Затем обработайте выбранные вкладки немного по-другому.
Приведенное выше решение было несложно реализовать и работает очень хорошо.