Ticket #19819: JOSM-FlatLaf-validation-border.diff

File JOSM-FlatLaf-validation-border.diff, 1.4 KB (added by DevCharly, 5 years ago)

fix combobox validation borders

  • src/org/openstreetmap/josm/gui/widgets/AbstractTextComponentValidator.java

     
    1313import java.util.Objects;
    1414
    1515import javax.swing.BorderFactory;
     16import javax.swing.JComboBox;
     17import javax.swing.JComponent;
    1618import javax.swing.UIManager;
    1719import javax.swing.border.Border;
     20import javax.swing.border.LineBorder;
    1821import javax.swing.event.DocumentEvent;
    1922import javax.swing.event.DocumentListener;
    2023import javax.swing.text.JTextComponent;
     
    9598    }
    9699
    97100    private void feedback(Border border, Color background, String tooltip, Status status, String msg) {
    98         tc.setBorder(border);
    99         tc.setBackground(background);
     101        if (UIManager.getLookAndFeel().getID().startsWith("FlatLaf") ) {
     102            JComponent c = (tc.getParent() instanceof JComboBox) ? (JComboBox<?>) tc.getParent() : tc;
     103            c.putClientProperty("JComponent.outline", (border instanceof LineBorder) ? ((LineBorder)border).getLineColor() : null);
     104            c.setBackground(background);
     105        } else {
     106            tc.setBorder(border);
     107            tc.setBackground(background);
     108        }
    100109        tc.setToolTipText(tooltip);
    101110        this.status = status;
    102111        this.msg = msg;