Try to remove the border ...
comboBox.setBorder(null);

The next choice will be to create a custom delegate to do what you want on Windows ...
For instance...
public static class MyComboBoxUI extends WindowsComboBoxUI { @Override protected void installDefaults() { super.installDefaults(); LookAndFeel.uninstallBorder(comboBox); } public static ComponentUI createUI(JComponent c) { return new MyComboBoxUI(); } }
And then install it using ...
UIManager.put("ComboBoxUI", MyComboBoxUI.class.getName());
This means that you will not need to remove borders from each combo field you create.
Or you can just override the default border property in UIManager ...
UIManager.put("ComboBox.border", new EmptyBorder(0, 0, 0, 0));
In any case, this will affect all combined fields created after its application ...
source share