JCombobox的圆形弹出窗口

chA*_*Ami 8 java swing popup rounded-corners jcombobox

我使用灵气作为L&F,但我真的很喜欢像seaglass L&F 那样的圆形组合框下拉.见下图.

雨云

在此输入图像描述

SEAGLASS

在此输入图像描述

我怎样才能达到这个效果?覆盖油漆在这里有用吗?方法是什么?

Ren*_*nov 1

Nimbus 可以通过更新 UIManager 属性来定制。例子

UIManager.put("nimbusBase", new Color(...));
UIManager.put("nimbusBlueGrey", new Color(...));
UIManager.put("control", new Color(...));
Run Code Online (Sandbox Code Playgroud)

画家也可以更新。例如,自定义滑块:

在此输入图像描述

实际做法:

sliderDefaults.put("Slider.thumbWidth", 20);
sliderDefaults.put("Slider.thumbHeight", 20);
sliderDefaults.put("Slider:SliderThumb.backgroundPainter", new Painter() {
  public void paint(Graphics2D g, JComponent c, int w, int h) {
     g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
     g.setStroke(new BasicStroke(2f));
     g.setColor(Color.RED);
     g.fillOval(1, 1, w-3, h-3);
     g.setColor(Color.WHITE);
     g.drawOval(1, 1, w-3, h-3);
   }
});
Run Code Online (Sandbox Code Playgroud)

资源: