mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-13 23:37:13 -06:00
TabbedPane: support specifying default tab layout policy for all tabbed panes via UI value TabbedPane.tabLayoutPolicy
This commit is contained in:
@@ -11,7 +11,11 @@ FlatLaf Change Log
|
|||||||
- TabbedPane: Support forward/backward scroll arrow buttons on both sides of tab
|
- TabbedPane: Support forward/backward scroll arrow buttons on both sides of tab
|
||||||
area. Backward button on left side, forward button on right side. Not
|
area. Backward button on left side, forward button on right side. Not
|
||||||
applicable scroll buttons are hidden. (PR #211; issue #40)
|
applicable scroll buttons are hidden. (PR #211; issue #40)
|
||||||
- TabbedPane: Support scrolling tabs with mouse wheel in scroll tab layout. (PR
|
- TabbedPane: Support specifying default tab layout policy for all tabbed panes
|
||||||
|
in the application via UI value `TabbedPane.tabLayoutPolicy`. E.g. invoke
|
||||||
|
`UIManager.put( "TabbedPane.tabLayoutPolicy", "scroll" );` to use scroll
|
||||||
|
layout.
|
||||||
|
- TabbedPane: Support tab scrolling with mouse wheel (in scroll tab layout). (PR
|
||||||
#187; issue #40)
|
#187; issue #40)
|
||||||
- TabbedPane: Repeat scrolling as long as scroll arrow buttons are pressed. (PR
|
- TabbedPane: Repeat scrolling as long as scroll arrow buttons are pressed. (PR
|
||||||
#187; issue #40)
|
#187; issue #40)
|
||||||
|
|||||||
@@ -131,8 +131,9 @@ import com.formdev.flatlaf.util.UIScale;
|
|||||||
* @uiDefault TabbedPane.tabSeparatorsFullHeight boolean
|
* @uiDefault TabbedPane.tabSeparatorsFullHeight boolean
|
||||||
* @uiDefault TabbedPane.hasFullBorder boolean
|
* @uiDefault TabbedPane.hasFullBorder boolean
|
||||||
*
|
*
|
||||||
|
* @uiDefault TabbedPane.tabLayoutPolicy String wrap (default) or scroll
|
||||||
* @uiDefault TabbedPane.tabsPopupPolicy String never or asNeeded (default)
|
* @uiDefault TabbedPane.tabsPopupPolicy String never or asNeeded (default)
|
||||||
* @uiDefault TabbedPane.scrollButtonsPolicy String never, asNeeded or asNeededSingle (default)
|
* @uiDefault TabbedPane.scrollButtonsPolicy String never, asNeeded or asNeededSingle (default)
|
||||||
* @uiDefault TabbedPane.scrollButtonsPlacement String both (default) or trailing
|
* @uiDefault TabbedPane.scrollButtonsPlacement String both (default) or trailing
|
||||||
*
|
*
|
||||||
* @uiDefault TabbedPane.tabAreaAlignment String leading (default), center, trailing or fill
|
* @uiDefault TabbedPane.tabAreaAlignment String leading (default), center, trailing or fill
|
||||||
@@ -231,6 +232,18 @@ public class FlatTabbedPaneUI
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void installUI( JComponent c ) {
|
public void installUI( JComponent c ) {
|
||||||
|
// initialize tab layout policy (if specified)
|
||||||
|
String tabLayoutPolicyStr = UIManager.getString( "TabbedPane.tabLayoutPolicy" );
|
||||||
|
if( tabLayoutPolicyStr != null ) {
|
||||||
|
int tabLayoutPolicy;
|
||||||
|
switch( tabLayoutPolicyStr ) {
|
||||||
|
default:
|
||||||
|
case "wrap": tabLayoutPolicy = JTabbedPane.WRAP_TAB_LAYOUT; break;
|
||||||
|
case "scroll": tabLayoutPolicy = JTabbedPane.SCROLL_TAB_LAYOUT; break;
|
||||||
|
}
|
||||||
|
((JTabbedPane)c).setTabLayoutPolicy( tabLayoutPolicy );
|
||||||
|
}
|
||||||
|
|
||||||
// initialize this defaults here because they are used in constructor
|
// initialize this defaults here because they are used in constructor
|
||||||
// of FlatTabAreaButton, which is invoked before installDefaults()
|
// of FlatTabAreaButton, which is invoked before installDefaults()
|
||||||
arrowType = UIManager.getString( "TabbedPane.arrowType" );
|
arrowType = UIManager.getString( "TabbedPane.arrowType" );
|
||||||
|
|||||||
@@ -573,6 +573,8 @@ TabbedPane.arrowType=chevron
|
|||||||
TabbedPane.buttonInsets=2,1,2,1
|
TabbedPane.buttonInsets=2,1,2,1
|
||||||
TabbedPane.buttonArc=$Button.arc
|
TabbedPane.buttonArc=$Button.arc
|
||||||
|
|
||||||
|
# allowed values: wrap or scroll
|
||||||
|
#TabbedPane.tabLayoutPolicy=scroll
|
||||||
# allowed values: never or asNeeded
|
# allowed values: never or asNeeded
|
||||||
TabbedPane.tabsPopupPolicy=asNeeded
|
TabbedPane.tabsPopupPolicy=asNeeded
|
||||||
# allowed values: never, asNeeded or asNeededSingle
|
# allowed values: never, asNeeded or asNeededSingle
|
||||||
|
|||||||
Reference in New Issue
Block a user