Who can it relate to:
The employee found the source of the problem. IN:
package javax.swing.plaf.synth.SynthTabbedPaneUI;
He says:
protected void paint(SynthContext context, Graphics g) { int selectedIndex = tabPane.getSelectedIndex(); int tabPlacement = tabPane.getTabPlacement(); ensureCurrentLayout();
As you can see, scrollableTabLayout is excluded from the following code, where the divisor size is calculated. As you follow the brackets, you see: it is later drawn nevertheless, but with the wrong parameters. This results in behavior that the separator is omitted if the tabs are set to TOP or LEFT content. If set to “RIGHT” or “BOTTOM”, the division is actually displayed, but breaks (the border with respect to the content is too thick, generally not long enough.
It would take quite a bit to fix everything from Synth to Nimbus, because there are many final and package-protected classes.
Therefore, you may need to simplify the route:
uiDefaults.put("TabbedPane:TabbedPaneTabArea.contentMargins", new InsetsUIResource(3, 10, 0, 10));
This will split the bottom span into your tabs, and you can put a “fake” spacer on the top edge of your content panel. This is how we deal with it.
Hope this helps. Enjoy it!
source share