SplitPane: added tooltips to expand/collapse buttons (issue #198)

This commit is contained in:
Karl Tauber
2020-11-02 12:13:06 +01:00
parent 815d9d6012
commit b8c9433259
3 changed files with 37 additions and 1 deletions

View File

@@ -36,7 +36,8 @@ FlatLaf Change Log
`TitlePane.borderColor`). (issue #184) `TitlePane.borderColor`). (issue #184)
- Extras: `FlatSVGIcon` now allows specifying icon width and height in - Extras: `FlatSVGIcon` now allows specifying icon width and height in
constructors. (issue #196) constructors. (issue #196)
- SplitPane: Hide not applicable expand/collapse buttons. (issue #198) - SplitPane: Hide not applicable expand/collapse buttons. Added tooltips to
expand/collapse buttons. (issue #198)
#### Fixed bugs #### Fixed bugs

View File

@@ -20,11 +20,13 @@ import java.awt.Color;
import java.awt.Container; import java.awt.Container;
import java.awt.Cursor; import java.awt.Cursor;
import java.awt.Insets; import java.awt.Insets;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JSplitPane; import javax.swing.JSplitPane;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
import javax.swing.ToolTipManager;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicSplitPaneDivider; import javax.swing.plaf.basic.BasicSplitPaneDivider;
@@ -152,6 +154,7 @@ public class FlatSplitPaneUI
protected FlatOneTouchButton( boolean left ) { protected FlatOneTouchButton( boolean left ) {
super( SwingConstants.NORTH, arrowType, oneTouchArrowColor, null, oneTouchHoverArrowColor, null ); super( SwingConstants.NORTH, arrowType, oneTouchArrowColor, null, oneTouchHoverArrowColor, null );
setCursor( Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR ) ); setCursor( Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR ) );
ToolTipManager.sharedInstance().registerComponent( this );
this.left = left; this.left = left;
} }
@@ -162,6 +165,26 @@ public class FlatSplitPaneUI
? (left ? SwingConstants.NORTH : SwingConstants.SOUTH) ? (left ? SwingConstants.NORTH : SwingConstants.SOUTH)
: (left ? SwingConstants.WEST : SwingConstants.EAST); : (left ? SwingConstants.WEST : SwingConstants.EAST);
} }
@Override
public String getToolTipText( MouseEvent e ) {
String key = (orientation == JSplitPane.VERTICAL_SPLIT)
? (left
? (isRightCollapsed()
? "SplitPaneDivider.expandBottomToolTipText"
: "SplitPaneDivider.collapseTopToolTipText")
: (isLeftCollapsed()
? "SplitPaneDivider.expandTopToolTipText"
: "SplitPaneDivider.collapseBottomToolTipText"))
: (left
? (isRightCollapsed()
? "SplitPaneDivider.expandRightToolTipText"
: "SplitPaneDivider.collapseLeftToolTipText")
: (isLeftCollapsed()
? "SplitPaneDivider.expandLeftToolTipText"
: "SplitPaneDivider.collapseRightToolTipText"));
return UIManager.getString( key, getLocale() );
}
} }
//---- class FlatDividerLayout ---------------------------------------- //---- class FlatDividerLayout ----------------------------------------

View File

@@ -48,6 +48,18 @@ FileChooser.listViewActionLabelText=List
FileChooser.detailsViewActionLabelText=Details FileChooser.detailsViewActionLabelText=Details
#---- SplitPaneDivider ----
SplitPaneDivider.collapseLeftToolTipText=Collapse Left Pane
SplitPaneDivider.collapseRightToolTipText=Collapse Right Pane
SplitPaneDivider.collapseTopToolTipText=Collapse Top Pane
SplitPaneDivider.collapseBottomToolTipText=Collapse Bottom Pane
SplitPaneDivider.expandLeftToolTipText=Expand Left Pane
SplitPaneDivider.expandRightToolTipText=Expand Right Pane
SplitPaneDivider.expandTopToolTipText=Expand Top Pane
SplitPaneDivider.expandBottomToolTipText=Expand Bottom Pane
#---- TabbedPane ---- #---- TabbedPane ----
TabbedPane.moreTabsButtonToolTipText=Show Hidden Tabs TabbedPane.moreTabsButtonToolTipText=Show Hidden Tabs