繁体   English   中英

Java - JComboBox 删除突出显示

[英]Java - JComboBox remove highlight

目前我正在使用一些 JComponents 来构建一个小工具。 当我改变一些东西,比如背景颜色时,可以看到组合框有一些突出显示的边框。 我已经删除了边框并更改了其外观的所有选项。 有人知道这个亮点叫什么或者如何删除吗?

在这里您可以看到轻微的蓝色/白色高光。

您可能正在谈论 ComboBox 的渲染器。

以下链接可能对您有所帮助:

http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer

您可以覆盖 ComboBox 的默认实现以创建您自己的自定义版本。

更具体地说,请查看setBackgroundsetForeground部分。

我终于找到了! 问题是主题的“阴影”颜色。 您可以创建一个新类来更改 Metal LAF 的 Ocean 主题中设置的颜色。

import javax.swing.plaf.ColorUIResource;
import javax.swing.plaf.metal.OceanTheme;

public class NewTheme extends OceanTheme{
  public  ColorUIResource getControlShadow(){
    return new ColorUIResource(255,255,255);
 }

}

完成后,您只需使用以下代码行设置这个新主题:

 UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); 
 MetalLookAndFeel.setCurrentTheme(new NewTheme());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM