Menus: if checkbox/radiobutton menu item is selected and also has a custom icon, then use filled icon background to indicate selection (instead of using checkIcon) (issue #3)

This commit is contained in:
Karl Tauber
2020-04-28 18:00:01 +02:00
parent dd2cf50a39
commit bd2f5dd6fe
14 changed files with 176 additions and 89 deletions

View File

@@ -128,9 +128,11 @@ public class FlatMenusTest
JMenuItem menuItem36 = new JMenuItem();
JMenuItem menuItem37 = new JMenuItem();
JCheckBoxMenuItem checkBoxMenuItem6 = new JCheckBoxMenuItem();
JCheckBoxMenuItem checkBoxMenuItem7 = new JCheckBoxMenuItem();
JRadioButtonMenuItem radioButtonMenuItem5 = new JRadioButtonMenuItem();
JRadioButtonMenuItem radioButtonMenuItem6 = new JRadioButtonMenuItem();
JRadioButtonMenuItem radioButtonMenuItem7 = new JRadioButtonMenuItem();
JRadioButtonMenuItem radioButtonMenuItem8 = new JRadioButtonMenuItem();
JRadioButtonMenuItem radioButtonMenuItem9 = new JRadioButtonMenuItem();
JMenu menu6 = new JMenu();
JMenuItem menuItem5 = new JMenuItem();
JMenuItem menuItem6 = new JMenuItem();
@@ -262,6 +264,13 @@ public class FlatMenusTest
checkBoxMenuItem6.setSelected(true);
menu5.add(checkBoxMenuItem6);
//---- checkBoxMenuItem7 ----
checkBoxMenuItem7.setText("check with icon");
checkBoxMenuItem7.setSelected(true);
checkBoxMenuItem7.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png")));
menu5.add(checkBoxMenuItem7);
menu5.addSeparator();
//---- radioButtonMenuItem5 ----
radioButtonMenuItem5.setText("radio 1");
radioButtonMenuItem5.setSelected(true);
@@ -270,10 +279,18 @@ public class FlatMenusTest
//---- radioButtonMenuItem6 ----
radioButtonMenuItem6.setText("radio 2");
menu5.add(radioButtonMenuItem6);
menu5.addSeparator();
//---- radioButtonMenuItem7 ----
radioButtonMenuItem7.setText("radio 3");
menu5.add(radioButtonMenuItem7);
//---- radioButtonMenuItem8 ----
radioButtonMenuItem8.setText("radio with icon 1");
radioButtonMenuItem8.setSelected(true);
radioButtonMenuItem8.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png")));
menu5.add(radioButtonMenuItem8);
//---- radioButtonMenuItem9 ----
radioButtonMenuItem9.setText("radio with icon 2");
radioButtonMenuItem9.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showWriteAccess.png")));
menu5.add(radioButtonMenuItem9);
}
menuBar1.add(menu5);
@@ -678,7 +695,11 @@ public class FlatMenusTest
ButtonGroup buttonGroup1 = new ButtonGroup();
buttonGroup1.add(radioButtonMenuItem5);
buttonGroup1.add(radioButtonMenuItem6);
buttonGroup1.add(radioButtonMenuItem7);
//---- buttonGroup2 ----
ButtonGroup buttonGroup2 = new ButtonGroup();
buttonGroup2.add(radioButtonMenuItem8);
buttonGroup2.add(radioButtonMenuItem9);
// JFormDesigner - End of component initialization //GEN-END:initComponents
}

View File

@@ -67,6 +67,15 @@ new FormModel {
"text": "check"
"selected": true
} )
add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) {
name: "checkBoxMenuItem7"
"text": "check with icon"
"selected": true
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png" )
} )
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
name: "separator5"
} )
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
name: "radioButtonMenuItem5"
"text": "radio 1"
@@ -78,10 +87,21 @@ new FormModel {
"text": "radio 2"
"$buttonGroup": new FormReference( "buttonGroup1" )
} )
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
name: "separator4"
} )
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
name: "radioButtonMenuItem7"
"text": "radio 3"
"$buttonGroup": new FormReference( "buttonGroup1" )
name: "radioButtonMenuItem8"
"text": "radio with icon 1"
"selected": true
"$buttonGroup": new FormReference( "buttonGroup2" )
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png" )
} )
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
name: "radioButtonMenuItem9"
"text": "radio with icon 2"
"$buttonGroup": new FormReference( "buttonGroup2" )
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showWriteAccess.png" )
} )
} )
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
@@ -554,5 +574,10 @@ new FormModel {
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 564 )
} )
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
name: "buttonGroup2"
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 616 )
} )
}
}

View File

@@ -144,6 +144,7 @@ CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
CheckBoxMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
CheckBoxMenuItem.borderPainted true
CheckBoxMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
CheckBoxMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI]
@@ -693,6 +694,7 @@ RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
RadioButtonMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
RadioButtonMenuItem.borderPainted true
RadioButtonMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
RadioButtonMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI]

View File

@@ -144,6 +144,7 @@ CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
CheckBoxMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
CheckBoxMenuItem.borderPainted true
CheckBoxMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
CheckBoxMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI]
@@ -691,6 +692,7 @@ RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
RadioButtonMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
RadioButtonMenuItem.borderPainted true
RadioButtonMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
RadioButtonMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI]

View File

@@ -145,6 +145,7 @@ CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
CheckBoxMenuItem.borderPainted true
CheckBoxMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
CheckBoxMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI]
@@ -695,6 +696,7 @@ RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
RadioButtonMenuItem.borderPainted true
RadioButtonMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
RadioButtonMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI]

View File

@@ -145,6 +145,7 @@ CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
CheckBoxMenuItem.borderPainted true
CheckBoxMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
CheckBoxMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI]
@@ -693,6 +694,7 @@ RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenu
RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
RadioButtonMenuItem.borderPainted true
RadioButtonMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
RadioButtonMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI]