Java JMapViewer:如何更改MapPolygon的颜色?
我正在创建一个应用程序,用于在JMapViewer上绘制污染信息。我想用MapPolygons做这个,但是我没有找到关于它的好文档。我成功地创建了新的MapPolygons,如下所示:Java JMapViewer:如何更改MapPolygon的颜色?,java,colors,stroke,jmapviewer,Java,Colors,Stroke,Jmapviewer,我正在创建一个应用程序,用于在JMapViewer上绘制污染信息。我想用MapPolygons做这个,但是我没有找到关于它的好文档。我成功地创建了新的MapPolygons,如下所示: private MapPolygon getPolygon(double lat, double lon, Color col){ List<Coordinate> coords = new ArrayList<>(); //add all points to the l
private MapPolygon getPolygon(double lat, double lon, Color col){
List<Coordinate> coords = new ArrayList<>();
//add all points to the list...
MapPolygon poly = new MapPolygonImpl(coords);
return poly;
}
有人知道如何更改贴图多边形的颜色吗?
谢谢 找到了。必须创建图层和样式:
Layer global = new Layer("Global");
Style style = new Style();
style.setBackColor(col);
style.setColor(col);
style.setStroke(new BasicStroke(0));
MapPolygon poly = new MapPolygonImpl(global,"",coords,style);
return poly;
由于
MapPolygonImpl
扩展了MapObjectImpl
,MapPolygonImpl
从MapObjectImpl
继承了setColor()
和setBackColor()
MapPolygonImpl
在其paint()
的实现中使用这些颜色。颜色存储在父类的Style
属性中,在构造期间通过调用getDefaultStyle()
初始化
您可以改变所选颜色的alpha分量,以实现各种效果;下面的示例使用12.5%的浅灰色
MapPolygonImpl poly = new MapPolygonImpl(coords);
Color color = new Color(0x20202020, true);
poly.setColor(color);
poly.setBackColor(color);
poly.setStroke(new BasicStroke(0));
map.addMapPolygon(poly);
如果现有颜色令人满意,则可通过将颜色设置为背景色来实现类似效果
MapPolygonImpl poly = new MapPolygonImpl(route);
poly.setColor(poly.getBackColor());
无论是否使用图层,都可以更改颜色或样式。
MapPolygonImpl poly = new MapPolygonImpl(route);
poly.setColor(poly.getBackColor());