Skip to content

Add card tab type support for JideTabbedPane#1094

Open
FoxyBOA wants to merge 1 commit intoJFormDesigner:mainfrom
FoxyBOA:feature/jide-card-tab-type
Open

Add card tab type support for JideTabbedPane#1094
FoxyBOA wants to merge 1 commit intoJFormDesigner:mainfrom
FoxyBOA:feature/jide-card-tab-type

Conversation

@FoxyBOA
Copy link

@FoxyBOA FoxyBOA commented Feb 13, 2026

Summary

FlatLaf supports the "card" tab type for standard JTabbedPane via UIManager.put("TabbedPane.tabType", "card"), but this style was not available for JideTabbedPane. This PR adds card tab rendering directly into FlatJideTabbedPaneUI, bringing feature parity with the standard FlatTabbedPaneUI.

Changes

  • Read TabbedPane.tabType, TabbedPane.cardTabSelectionHeight, and TabbedPane.cardTabArc UI defaults in installDefaults()
  • Support per-component override via JTabbedPane.tabType client property
  • Paint rounded card tab background when cardTabArc > 0
  • Paint card tab border frame around the selected tab
  • Paint card tab selection stripe at the outer edge of the selected tab
  • Paint content separator gap under the selected card tab (consistent with FlatTabbedPaneUI behavior)
  • Skip tab separators adjacent to the selected card tab
  • Also fixed an instanceof check in paintTabBackground() before casting _closeButtons[tabIndex] to NoFocusButton

How to test

UIManager.put("TabbedPane.tabType", "card");
// or per-component:
tabbedPane.putClientProperty("JTabbedPane.tabType", "card");

All four tab placements (TOP, BOTTOM, LEFT, RIGHT) are supported, both in wrap and scroll tab layouts.

🤖 Generated with Claude Code

FlatLaf supports the "card" tab type for standard JTabbedPane via
UIManager.put("TabbedPane.tabType", "card"), but this style was not
available for JideTabbedPane. This commit adds card tab rendering
directly into FlatJideTabbedPaneUI.

Changes:
- Read TabbedPane.tabType, cardTabSelectionHeight, and cardTabArc
  UI defaults
- Support per-component override via JTabbedPane.tabType client property
- Paint rounded card tab background when cardTabArc > 0
- Paint card tab border frame around the selected tab
- Paint card tab selection stripe at the outer edge of the selected tab
- Paint content separator gap under the selected card tab
- Skip tab separators adjacent to the selected card tab
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant