摇摆:删除对话按钮重点边境(Swing: remove focus border from dial

2019-07-03 21:34发布

我不知道我怎样才能从按钮对话删除此灰色边框?

对于简单的Jbutton将我找到了解决方案-只需使用button.setFocusPainted(false); 但是,有没有进行简单的方式同样在所有对话的所有按钮? 我试图通过UIManager的性质看,但似乎没有合适的参数那里。

提前致谢!

Answer 1:

  • JButtons API ,你可以使用JButton.setFocusable()并与JButton.setBorderPainted(false);

  • UIManager必须覆盖键(适用于整个JVM实例)

UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("Button.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
  • 我倒是建议改变Colortransparency (在凌晨4码paramater)到另一个更体面的Color ,否则你无法看到焦点任何`Jbutton将中


Answer 2:

关于什么

JButton.setFocusPainted(false)


Answer 3:

这是一个全球性的修复,所以你不必为每一个控制做手工。 从我的其他职务: 禁止JButton的重点边境

        // 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)));


文章来源: Swing: remove focus border from dialogues' buttons