diff --git a/CHANGELOG.md b/CHANGELOG.md index cd8bd18c..93e2bd12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,8 @@ FlatLaf Change Log [Glazed Lists](https://github.com/glazedlists/glazedlists). (issue #113) - Button, CheckBox, RadioButton and ToggleButton: Do not paint focus indicator if `AbstractButton.isFocusPainted()` returns `false`. +- ComboBox: Increase maximum row count of popup list to 20 (was 8). Set UI value + `ComboBox.maximumRowCount` to any integer to use a different value. - Fixed/improved vertical position of text when scaled on HiDPI screens on Windows. 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 cd2f5ac3..2dca2a81 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 @@ -80,6 +80,7 @@ import com.formdev.flatlaf.util.UIScale; * * @uiDefault ComboBox.minimumWidth int * @uiDefault ComboBox.editorColumns int + * @uiDefault ComboBox.maximumRowCount int * @uiDefault ComboBox.buttonStyle String auto (default), button or none * @uiDefault Component.arrowType String triangle (default) or chevron * @uiDefault Component.isIntelliJTheme boolean @@ -172,6 +173,11 @@ public class FlatComboBoxUI buttonDisabledArrowColor = UIManager.getColor( "ComboBox.buttonDisabledArrowColor" ); buttonHoverArrowColor = UIManager.getColor( "ComboBox.buttonHoverArrowColor" ); + // set maximumRowCount + int maximumRowCount = UIManager.getInt( "ComboBox.maximumRowCount" ); + if( maximumRowCount > 0 && maximumRowCount != 8 && comboBox.getMaximumRowCount() == 8 ) + comboBox.setMaximumRowCount( maximumRowCount ); + // scale padding = UIScale.scale( padding ); diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index 013439cc..27efa701 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -180,6 +180,7 @@ ComboBox.border=com.formdev.flatlaf.ui.FlatRoundBorder ComboBox.padding=2,6,2,6 ComboBox.minimumWidth=72 ComboBox.editorColumns=0 +ComboBox.maximumRowCount=20 [mac]ComboBox.showPopupOnNavigation=true ComboBox.buttonStyle=auto diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java index 85c3bf35..5dd8aa44 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.java @@ -604,6 +604,7 @@ public class FlatComponentsTest "jj", "kkk" })); + comboBox1.setMaximumRowCount(6); add(comboBox1, "cell 1 5,growx"); //---- comboBox2 ---- @@ -632,6 +633,7 @@ public class FlatComponentsTest "jj", "kkk" })); + comboBox3.setMaximumRowCount(6); add(comboBox3, "cell 3 5,growx"); //---- comboBox4 ---- diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd index e904bb7d..0a662082 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponentsTest.jfd @@ -356,6 +356,7 @@ new FormModel { addElement( "jj" ) addElement( "kkk" ) } + "maximumRowCount": 6 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 5,growx" } ) @@ -390,6 +391,7 @@ new FormModel { addElement( "jj" ) addElement( "kkk" ) } + "maximumRowCount": 6 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 5,growx" } ) diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt index e5d5ca84..d06c4682 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -196,6 +196,7 @@ ComboBox.editorColumns 0 ComboBox.font [active] $defaultFont [UI] ComboBox.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] ComboBox.isEnterSelectablePopup false +ComboBox.maximumRowCount 20 ComboBox.minimumWidth 72 ComboBox.noActionOnKeyNavigation false ComboBox.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt index 49d42457..31b022ee 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -200,6 +200,7 @@ ComboBox.editorColumns 0 ComboBox.font [active] $defaultFont [UI] ComboBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI] ComboBox.isEnterSelectablePopup false +ComboBox.maximumRowCount 20 ComboBox.minimumWidth 72 ComboBox.noActionOnKeyNavigation false ComboBox.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI]