Please dont ask for code... But this is the way it is to be done. 1) First you have to extend BasicTabbedPaneUI 2) Override paintContentBorder() and draw ovals (instead of fillRect as in BasicTabbedPaneUI) and don't call super.paintContentBorder() 3) Override paintTabArea() to draw Ovals or images or whatever. 4) Dont forget to set the UI of your tabbedpane to the new ui class you just made above Trust me its simple. Just start doing..
I guess there are couple of design issues in this classic software the GOD coded.