mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-09 16:25:10 +03:00
Button: make button square if button text is "..." or a single character
This commit is contained in:
@@ -10,6 +10,7 @@ FlatLaf Change Log
|
|||||||
check whether the current look and feel is FlatLaf.
|
check whether the current look and feel is FlatLaf.
|
||||||
- Fixed selection background of checkbox in table cell.
|
- Fixed selection background of checkbox in table cell.
|
||||||
- Fixed jittery submenu rendering on Mac. (issue #10)
|
- Fixed jittery submenu rendering on Mac. (issue #10)
|
||||||
|
- Button: Make button square if button text is "..." or a single character.
|
||||||
- ComboBox: Fixed issues with NetBeans `org.openide.awt.ColorComboBox`
|
- ComboBox: Fixed issues with NetBeans `org.openide.awt.ColorComboBox`
|
||||||
component.
|
component.
|
||||||
- Hex color values in `.properties` files now must start with a `#` character.
|
- Hex color values in `.properties` files now must start with a `#` character.
|
||||||
|
|||||||
@@ -163,10 +163,13 @@ public class FlatButtonUI
|
|||||||
}
|
}
|
||||||
|
|
||||||
static boolean isIconOnlyButton( Component c ) {
|
static boolean isIconOnlyButton( Component c ) {
|
||||||
String text;
|
if( !(c instanceof JButton) )
|
||||||
return c instanceof JButton &&
|
return false;
|
||||||
((JButton)c).getIcon() != null &&
|
|
||||||
((text = ((JButton)c).getText()) == null || text.isEmpty());
|
Icon icon = ((JButton)c).getIcon();
|
||||||
|
String text = ((JButton)c).getText();
|
||||||
|
return (icon != null && (text == null || text.isEmpty())) ||
|
||||||
|
(icon == null && text != null && ("...".equals( text ) || text.length() == 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean isHelpButton( Component c ) {
|
static boolean isHelpButton( Component c ) {
|
||||||
@@ -295,8 +298,11 @@ public class FlatButtonUI
|
|||||||
|
|
||||||
Dimension prefSize = super.getPreferredSize( c );
|
Dimension prefSize = super.getPreferredSize( c );
|
||||||
|
|
||||||
// apply minimum width, if not in toolbar and not a icon-only button
|
// make button square if it is a icon-only button
|
||||||
if( !isToolBarButton( c ) && !isIconOnlyButton( c ) )
|
// or apply minimum width, if not in toolbar and not a icon-only button
|
||||||
|
if( isIconOnlyButton( c ) )
|
||||||
|
prefSize.width = Math.max( prefSize.width, prefSize.height );
|
||||||
|
else if( !isToolBarButton( c ) )
|
||||||
prefSize.width = Math.max( prefSize.width, scale( minimumWidth + (focusWidth * 2) ) );
|
prefSize.width = Math.max( prefSize.width, scale( minimumWidth + (focusWidth * 2) ) );
|
||||||
|
|
||||||
return prefSize;
|
return prefSize;
|
||||||
|
|||||||
@@ -58,6 +58,9 @@ public class FlatComponentsTest
|
|||||||
JButton button3 = new JButton();
|
JButton button3 = new JButton();
|
||||||
JButton button12 = new JButton();
|
JButton button12 = new JButton();
|
||||||
JButton button13 = new JButton();
|
JButton button13 = new JButton();
|
||||||
|
JButton button14 = new JButton();
|
||||||
|
JButton button15 = new JButton();
|
||||||
|
JButton button16 = new JButton();
|
||||||
JLabel toggleButtonLabel = new JLabel();
|
JLabel toggleButtonLabel = new JLabel();
|
||||||
JToggleButton toggleButton1 = new JToggleButton();
|
JToggleButton toggleButton1 = new JToggleButton();
|
||||||
JToggleButton toggleButton2 = new JToggleButton();
|
JToggleButton toggleButton2 = new JToggleButton();
|
||||||
@@ -263,6 +266,18 @@ public class FlatComponentsTest
|
|||||||
button13.setIcon(UIManager.getIcon("Tree.closedIcon"));
|
button13.setIcon(UIManager.getIcon("Tree.closedIcon"));
|
||||||
add(button13, "cell 5 1");
|
add(button13, "cell 5 1");
|
||||||
|
|
||||||
|
//---- button14 ----
|
||||||
|
button14.setText("...");
|
||||||
|
add(button14, "cell 5 1");
|
||||||
|
|
||||||
|
//---- button15 ----
|
||||||
|
button15.setText("\u2026");
|
||||||
|
add(button15, "cell 5 1");
|
||||||
|
|
||||||
|
//---- button16 ----
|
||||||
|
button16.setText("#");
|
||||||
|
add(button16, "cell 5 1");
|
||||||
|
|
||||||
//---- toggleButtonLabel ----
|
//---- toggleButtonLabel ----
|
||||||
toggleButtonLabel.setText("JToggleButton:");
|
toggleButtonLabel.setText("JToggleButton:");
|
||||||
add(toggleButtonLabel, "cell 0 2");
|
add(toggleButtonLabel, "cell 0 2");
|
||||||
|
|||||||
@@ -85,6 +85,24 @@ new FormModel {
|
|||||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
"value": "cell 5 1"
|
"value": "cell 5 1"
|
||||||
} )
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JButton" ) {
|
||||||
|
name: "button14"
|
||||||
|
"text": "..."
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 5 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JButton" ) {
|
||||||
|
name: "button15"
|
||||||
|
"text": "…"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 5 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JButton" ) {
|
||||||
|
name: "button16"
|
||||||
|
"text": "#"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 5 1"
|
||||||
|
} )
|
||||||
add( new FormComponent( "javax.swing.JLabel" ) {
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
name: "toggleButtonLabel"
|
name: "toggleButtonLabel"
|
||||||
"text": "JToggleButton:"
|
"text": "JToggleButton:"
|
||||||
|
|||||||
Reference in New Issue
Block a user