[英]Swing: remove focus border from dialogues' buttons
我想知道如何从对话中的按钮中删除这个灰色边框?
对于简单的JButtons,我找到了一个解决方案 - 只需使用button.setFocusPainted(false);
但有没有一种简单的方法可以对所有对话中的所有按钮执行相同的操作? 我试图通过UIManager属性查看,但似乎没有合适的参数。
提前致谢!
从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)));
Color
的transparency
(上午代码中的第四个参数)到另一个更体面的Color
,否则你不能看到任何`JButtons的焦点 关于什么
JButton.setFocusPainted(false)
这是一个全局修复程序,因此您无需为每个控件手动执行此操作。 从我的另一篇文章: 禁用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)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.