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)
- Extras: `FlatSVGIcon` now allows specifying icon width and height in
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

View File

@@ -20,11 +20,13 @@ import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Insets;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JSplitPane;
import javax.swing.SwingConstants;
import javax.swing.ToolTipManager;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicSplitPaneDivider;
@@ -152,6 +154,7 @@ public class FlatSplitPaneUI
protected FlatOneTouchButton( boolean left ) {
super( SwingConstants.NORTH, arrowType, oneTouchArrowColor, null, oneTouchHoverArrowColor, null );
setCursor( Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR ) );
ToolTipManager.sharedInstance().registerComponent( this );
this.left = left;
}
@@ -162,6 +165,26 @@ public class FlatSplitPaneUI
? (left ? SwingConstants.NORTH : SwingConstants.SOUTH)
: (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 ----------------------------------------

View File

@@ -48,6 +48,18 @@ FileChooser.listViewActionLabelText=List
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.moreTabsButtonToolTipText=Show Hidden Tabs