diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c70688d..528d3f4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,9 @@ FlatLaf Change Log than 100% (e.g. `-Dflatlaf.uiScale=75%`). (issue #951) - Linux: Fixed occasional maximizing of window when single-clicking the window's title bar. (issue #637) +- Styling: MigLayout visual padding was not updated after applying style to + Button, ComboBox, Spinner, TextField (and subclasses) and ToggleButton. (issue + #965) - Linux: Popups (menus and combobox lists) were not hidden when window is moved, resized, maximized, restored, iconified or switched to another window. (issue #962) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java index db9f6838..52379236 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java @@ -280,8 +280,6 @@ public class FlatButtonUI LookAndFeel.installProperty( b, "opaque", false ); LookAndFeel.installProperty( b, "iconTextGap", scale( iconTextGap ) ); - - MigLayoutVisualPadding.install( b ); } @Override @@ -291,10 +289,23 @@ public class FlatButtonUI oldStyleValues = null; borderShared = null; - MigLayoutVisualPadding.uninstall( b ); defaults_initialized = false; } + @Override + protected void installListeners( AbstractButton b ) { + super.installListeners( b ); + + MigLayoutVisualPadding.install( b ); + } + + @Override + protected void uninstallListeners( AbstractButton b ) { + super.uninstallListeners( b ); + + MigLayoutVisualPadding.uninstall( b ); + } + @Override protected BasicButtonListener createButtonListener( AbstractButton b ) { return new FlatButtonListener( b ); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java index 2976949f..05a4973a 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java @@ -225,6 +225,8 @@ public class FlatComboBoxUI } }; comboBox.addMouseListener( hoverListener ); + + MigLayoutVisualPadding.install( comboBox ); } @Override @@ -233,6 +235,8 @@ public class FlatComboBoxUI comboBox.removeMouseListener( hoverListener ); hoverListener = null; + + MigLayoutVisualPadding.uninstall( comboBox ); } @Override @@ -274,8 +278,6 @@ public class FlatComboBoxUI comboBox.setMaximumRowCount( maximumRowCount ); paddingBorder = new CellPaddingBorder( padding ); - - MigLayoutVisualPadding.install( comboBox ); } @Override @@ -304,8 +306,6 @@ public class FlatComboBoxUI oldStyleValues = null; borderShared = null; - - MigLayoutVisualPadding.uninstall( comboBox ); } @Override diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java index 019f8691..2ba1cc8b 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java @@ -140,8 +140,6 @@ public class FlatSpinnerUI buttonHoverArrowColor = UIManager.getColor( "Spinner.buttonHoverArrowColor" ); buttonPressedArrowColor = UIManager.getColor( "Spinner.buttonPressedArrowColor" ); padding = UIManager.getInsets( "Spinner.padding" ); - - MigLayoutVisualPadding.install( spinner ); } @Override @@ -162,8 +160,6 @@ public class FlatSpinnerUI oldStyleValues = null; borderShared = null; - - MigLayoutVisualPadding.uninstall( spinner ); } @Override @@ -173,6 +169,8 @@ public class FlatSpinnerUI addEditorFocusListener( spinner.getEditor() ); spinner.addFocusListener( getHandler() ); spinner.addPropertyChangeListener( getHandler() ); + + MigLayoutVisualPadding.install( spinner ); } @Override @@ -184,6 +182,8 @@ public class FlatSpinnerUI spinner.removePropertyChangeListener( getHandler() ); handler = null; + + MigLayoutVisualPadding.uninstall( spinner ); } private Handler getHandler() { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java index 88a178ac..3a2fe0fe 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java @@ -174,8 +174,6 @@ public class FlatTextFieldUI defaultMargin = UIManager.getInsets( prefix + ".margin" ); LookAndFeel.installProperty( getComponent(), "opaque", false ); - - MigLayoutVisualPadding.install( getComponent() ); } @Override @@ -193,8 +191,6 @@ public class FlatTextFieldUI oldStyleValues = null; borderShared = null; - - MigLayoutVisualPadding.uninstall( getComponent() ); } @Override @@ -204,6 +200,8 @@ public class FlatTextFieldUI // necessary to update focus border and background focusListener = new FlatUIUtils.RepaintFocusListener( getComponent(), null ); getComponent().addFocusListener( focusListener ); + + MigLayoutVisualPadding.install( getComponent() ); } @Override @@ -217,6 +215,8 @@ public class FlatTextFieldUI getComponent().getDocument().removeDocumentListener( documentListener ); documentListener = null; } + + MigLayoutVisualPadding.uninstall( getComponent() ); } @Override diff --git a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java index a3a92549..718f28ef 100644 --- a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java +++ b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatDatePickerUI.java @@ -125,8 +125,6 @@ public class FlatDatePickerUI LookAndFeel.installBorder( datePicker, "JXDatePicker.border" ); LookAndFeel.installProperty( datePicker, "opaque", Boolean.TRUE ); - - MigLayoutVisualPadding.install( datePicker ); } @Override @@ -146,6 +144,18 @@ public class FlatDatePickerUI if( datePicker.getBorder() instanceof UIResource ) datePicker.setBorder( null ); + } + + @Override + protected void installListeners() { + super.installListeners(); + + MigLayoutVisualPadding.install( datePicker ); + } + + @Override + protected void uninstallListeners() { + super.uninstallListeners(); MigLayoutVisualPadding.uninstall( datePicker ); } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java index cf7b3cbd..aef4ce5d 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java @@ -354,14 +354,14 @@ public class FlatSwingXTest //---- table ---- table.setModel(new DefaultTableModel( new Object[][] { - {new Date(1574636400000L) /* 25.11.2019, 00:00:00 */}, - {new Date(1517439600000L) /* 01.02.2018, 00:00:00 */}, + {new Date(1574636400000L) /* 2019-11-25 */}, + {new Date(1517439600000L) /* 2018-02-01 */}, }, new String[] { "Date" } ) { - Class[] columnTypes = new Class[] { + Class[] columnTypes = { Date.class }; @Override