3

我想知道如何从对话框中的按钮中删除这个灰色边框?在此处输入图像描述

对于简单的 JButtons,我找到了一个解决方案 - 只需使用button.setFocusPainted(false); 但是有没有一种简单的方法可以对所有对话中的所有按钮执行相同的操作?我试图查看 UIManager 属性,但那里似乎没有合适的参数。 在此处输入图像描述

提前致谢!

4

3 回答 3

8
  • JButtons API你可以使用JButton.setFocusable()和搭配JButton.setBorderPainted(false);

  • fromUIManager必须覆盖键(对整个 JVM 实例有效)

.

UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("Button.focus", new ColorUIResource(new Color(0, 0, 0, 0)));
  • 我建议将Color( transparency4th paramater in am code) 更改为另一个更体面的Color,否则你看不到任何 `JButtons 的焦点
于 2012-11-16T19:09:26.947 回答
4

关于什么

JButton.setFocusPainted(false)
于 2014-03-20T18:13:00.140 回答
1

这是一个全局修复,因此您不必为每个控件手动执行此操作。从我的另一篇文章:禁用 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)));
于 2016-02-02T06:27:59.200 回答