Search code examples
javaswingborderjbuttonuimanager

Swing: remove focus border from dialogues' buttons


I wonder how can I remove this grey border from buttons in dialogues? enter image description here

For simple JButtons I found a solution - just use button.setFocusPainted(false); But is there a simple way to perform the same for all buttons in all dialogues? I tried to look through UIManager properties, but it seems that there are no suitable parameters there. enter image description here

Thanks in advance!


Solution

    • from JButtons API you can to use JButton.setFocusable() and with JButton.setBorderPainted(false);

    • from UIManager have to override key (valid for whole JVM instance)

    .

    UIDefaults defaults = UIManager.getLookAndFeelDefaults();
    defaults.put("Button.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
    
    • I'd to suggest to change Color with transparency (4th paramater in a.m. code) to another more decent Color, otherwise you can't to see focus for any of `JButtons