diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e137141..94942350 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ FlatLaf Change Log - Support `JFileChooser`. (issue #5) - Fixed selection background of checkbox in table cell. - Fixed jittery submenu rendering on Mac. (issue #10) +- JIDE Common Layer: Fixed `JidePopup` border. ## 0.18 diff --git a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/FlatJideOssDefaultsAddon.java b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/FlatJideOssDefaultsAddon.java index a4ef5d1e..1f2902a9 100644 --- a/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/FlatJideOssDefaultsAddon.java +++ b/flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/FlatJideOssDefaultsAddon.java @@ -67,8 +67,12 @@ public class FlatJideOssDefaultsAddon for( Map.Entry e : defaults.entrySet() ) { Object key = e.getKey(); - if( key instanceof String && ((String)key).startsWith( "Jide" ) ) + if( key instanceof String && + (((String)key).startsWith( "Jide" ) || + ((String)key).equals( "Resizable.resizeBorder" )) ) + { jideDefaults.put( key, e.getValue() ); + } } } diff --git a/flatlaf-jide-oss/src/main/resources/com/formdev/flatlaf/jideoss/FlatLaf.properties b/flatlaf-jide-oss/src/main/resources/com/formdev/flatlaf/jideoss/FlatLaf.properties index 2313450d..582f5cc1 100644 --- a/flatlaf-jide-oss/src/main/resources/com/formdev/flatlaf/jideoss/FlatLaf.properties +++ b/flatlaf-jide-oss/src/main/resources/com/formdev/flatlaf/jideoss/FlatLaf.properties @@ -19,6 +19,11 @@ JideTabbedPaneUI=com.formdev.flatlaf.jideoss.ui.FlatJideTabbedPaneUI +#---- JidePopup ---- + +Resizable.resizeBorder=4,4,4,4,@@PopupMenu.borderColor + + #---- JideTabbedPane ---- JideTabbedPane.background=@background diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.java index dfbab877..b51aa6ec 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.java @@ -18,12 +18,14 @@ package com.formdev.flatlaf.testing.jideoss; import static com.formdev.flatlaf.FlatClientProperties.TABBED_PANE_HAS_FULL_BORDER; import java.awt.*; +import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import com.formdev.flatlaf.testing.*; import com.formdev.flatlaf.testing.FlatTestFrame; import com.jgoodies.forms.layout.*; import com.jidesoft.plaf.LookAndFeelFactory; +import com.jidesoft.popup.JidePopup; import com.jidesoft.swing.*; import net.miginfocom.swing.*; @@ -88,6 +90,20 @@ public class FlatJideOssTest } } + private void showJidePopupButtonActionPerformed( ActionEvent e ) { + Component invoker = (Component) e.getSource(); + + JPanel panel = new JPanel( new MigLayout() ); + panel.add( new JLabel( "Name:") ); + panel.add( new JTextField( 20 ) ); + + JidePopup popupMenu = new JidePopup(); + popupMenu.add( panel ); + popupMenu.setDetached( true ); + popupMenu.setOwner( invoker ); + popupMenu.showPopup(); + } + private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents JPanel panel9 = new JPanel(); @@ -116,6 +132,9 @@ public class FlatJideOssTest moreTabsCheckBox = new JCheckBox(); tabScrollCheckBox = new JCheckBox(); hasFullBorderCheckBox = new JCheckBox(); + JPanel panel10 = new JPanel(); + JLabel jidePopupLabel = new JLabel(); + JButton showJidePopupButton = new JButton(); CellConstraints cc = new CellConstraints(); //======== this ======== @@ -131,7 +150,7 @@ public class FlatJideOssTest panel9.setOpaque(false); panel9.setLayout(new FormLayout( "70dlu:grow, $lcgap, 70dlu:grow", - "pref, 2*($lgap, fill:70dlu:grow), $lgap, pref")); + "pref, 2*($lgap, fill:70dlu:grow), $lgap, pref, $lgap, default")); //---- tabbedPaneLabel ---- tabbedPaneLabel.setText("JideTabbedPane:"); @@ -277,6 +296,27 @@ public class FlatJideOssTest panel14.add(hasFullBorderCheckBox, "cell 2 0,alignx left,growx 0"); } panel9.add(panel14, cc.xywh(1, 7, 3, 1)); + + //======== panel10 ======== + { + panel10.setLayout(new MigLayout( + "insets 3 0 3 3,hidemode 3", + // columns + "[fill]" + + "[fill]", + // rows + "[]")); + + //---- jidePopupLabel ---- + jidePopupLabel.setText("JidePopup:"); + panel10.add(jidePopupLabel, "cell 0 0"); + + //---- showJidePopupButton ---- + showJidePopupButton.setText("show JidePopup"); + showJidePopupButton.addActionListener(e -> showJidePopupButtonActionPerformed(e)); + panel10.add(showJidePopupButton, "cell 1 0"); + } + panel9.add(panel10, cc.xy(1, 9)); } add(panel9, "cell 0 0"); // JFormDesigner - End of component initialization //GEN-END:initComponents diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.jfd index d181cfdc..dd5c3d90 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/jideoss/FlatJideOssTest.jfd @@ -14,7 +14,7 @@ new FormModel { name: "this" add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class com.jgoodies.forms.layout.FormLayout ) { "$columnSpecs": "70dlu:grow, labelcompgap, 70dlu:grow" - "$rowSpecs": "pref, linegap, fill:70dlu:grow, linegap, fill:70dlu:grow, linegap, pref" + "$rowSpecs": "pref, linegap, fill:70dlu:grow, linegap, fill:70dlu:grow, linegap, pref, linegap, default" } ) { name: "panel9" "opaque": false @@ -192,6 +192,28 @@ new FormModel { "gridY": 7 "gridWidth": 3 } ) + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "insets 3 0 3 3,hidemode 3" + "$columnConstraints": "[fill][fill]" + "$rowConstraints": "[]" + } ) { + name: "panel10" + add( new FormComponent( "javax.swing.JLabel" ) { + name: "jidePopupLabel" + "text": "JidePopup:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "showJidePopupButton" + "text": "show JidePopup" + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showJidePopupButtonActionPerformed", true ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 0" + } ) + }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { + "gridY": 9 + } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 0" } )