После копания я придумал лучшее решение.Это также распространенная ошибка пользовательского интерфейса в приложениях GTK в Windows, одним из которых является GIMP.Это очень раздражает, поэтому я хотел найти лучшее глобальное исправление, чем устанавливать его на каждом элементе управления вручную.
Временное решение устанавливает цвет для фокуса на всех общих элементах управления, которые, как предполагается, не должны быть прозрачными.Я много тестировал с Windows Forms в Visual Studio.Кнопки панели инструментов и кнопки ToggleButtons никогда не должны иметь пунктирной границы, даже когда они находятся в фокусе.Панели инструментов должны быть setFocusable (false);по умолчанию, как в Windows.Любой другой элемент управления должен иметь пунктирную границу, как в Swing, но только при фокусировке.
// Removes the dotted border around controls which is not consistent with Windows
UIManager.put("Button.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
UIManager.put("ToggleButton.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
// ways to remove it from other controls...
UIManager.put("CheckBox.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
UIManager.put("TabbedPane.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
UIManager.put("RadioButton.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
UIManager.put("Slider.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
// figure out combobox
UIManager.put("ComboBox.focus", new ColorUIResource(new Color(0, 0, 0, 0)));