[英]Java JMapViewer: How can I change the color of a MapPolygon?
我正在創建一個在JMapViewer上繪制污染信息的應用程序。 我想用MapPolygons做這個,但我沒有找到關於它的好文檔。 我成功地創建了這樣的新MapPolygons:
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;
}
我想知道如何更改顏色並刪除MapPolygon的邊框。 沒有函數setColor或者這樣的......
我直接嘗試使用構造函數,但這不起作用:
MapPolygon poly = new MapPolygonImpl(coords, Color.RED, new BasicStroke(0));
有誰知道如何改變MapPolygon的顏色? 謝謝!
因為MapPolygonImpl
延伸MapObjectImpl
, MapPolygonImpl
繼承setColor()
和setBackColor()
從MapObjectImpl
。 MapPolygonImpl
在其paint()
實現中使用這些顏色。 顏色存儲在父類的Style
屬性中,在構造期間通過調用getDefaultStyle()
進行初始化。
您可以改變所選Color
的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());
找到了。 你必須創建一個圖層和一個樣式:
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.