Java JCombobox的圆形弹出窗口
我使用nimbus作为L&F,但我真的很喜欢像L&F一样有一个圆形的组合框下拉列表。请参见以下图片 灵气 海鸥Java JCombobox的圆形弹出窗口,java,swing,popup,jcombobox,rounded-corners,Java,Swing,Popup,Jcombobox,Rounded Corners,我使用nimbus作为L&F,但我真的很喜欢像L&F一样有一个圆形的组合框下拉列表。请参见以下图片 灵气 海鸥 我怎样才能达到这个效果呢?覆盖涂料在这里有用吗?方法是什么?可以通过更新UIManager属性来定制Nimbus: 画家也可以更新。例如,自定义滑块: 实际做法: sliderDefaults.put("Slider.thumbWidth", 20); sliderDefaults.put("Slider.thumbHeight", 20); sliderDefaults.put
我怎样才能达到这个效果呢?覆盖涂料在这里有用吗?方法是什么?可以通过更新UIManager属性来定制Nimbus: 画家也可以更新。例如,自定义滑块: 实际做法:
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);
}
});
资源:
- 请参见此处的完整示例:
- 此处列出了Nimbus默认设置:
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);
}
});