This is an automated email from the git hooks/post-receive script. New commit to branch feature/7154 in repository observe. See http://git.codelutin.com/observe.git commit 8de82a1ce010c1f063a4b4650bbd7278c607768f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu May 28 11:17:19 2015 +0200 refs #7154 : modification du rendu de la légende --- .../observe/ui/util/tripMap/ObserveMapPane.java | 33 +++++++++++++++++----- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java b/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java index 2c32bea..2eb267e 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/ObserveMapPane.java @@ -184,6 +184,8 @@ public class ObserveMapPane extends JMapPane { } + protected static int LEGEND_MARGIN = 3; + protected List<ObserveMapPaneLegendItem> legendItems; public List<ObserveMapPaneLegendItem> getLegendItems() { @@ -199,7 +201,7 @@ public class ObserveMapPane extends JMapPane { if (legendItems != null) { int x = 0; - int y = getHeight() - ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT * legendItems.size(); + int y = getHeight() - ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT * legendItems.size() - 2 * LEGEND_MARGIN; ObserverMapPanLegendDrawer drawer = new ObserverMapPanLegendDrawer(); @@ -214,13 +216,24 @@ public class ObserveMapPane extends JMapPane { } + int legendWidth = ObserveMapPaneLegendItem.LEGEND_SYMBOL_WIDTH + maxLabelWidth + ObserveMapPaneLegendItem.LEGEND_MARGIN * 2; + + graphics.setColor(ObserveMapPaneLegendItem.LEGEND_BACKGROUND); + graphics.fillRect( + x, + y, + legendWidth, + LEGEND_MARGIN); + + y += LEGEND_MARGIN; + for (ObserveMapPaneLegendItem item : legendItems) { graphics.setColor(ObserveMapPaneLegendItem.LEGEND_BACKGROUND); graphics.fillRect( x, y, - ObserveMapPaneLegendItem.LEGEND_SYMBOL_WIDTH + maxLabelWidth + ObserveMapPaneLegendItem.LEGEND_MARGIN, + legendWidth, ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT); BufferedImage symbole = new BufferedImage( @@ -242,21 +255,27 @@ public class ObserveMapPane extends JMapPane { } } - graphics.drawImage(symbole, x, y, null); + graphics.drawImage(symbole, x + LEGEND_MARGIN, y, null); graphics.setColor(Color.BLACK); - Rectangle2D labelArea = fm.getStringBounds(item.getLabel(), graphics); - - int labelMarginBottom = (int) ((ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT - labelArea.getHeight()) / 2); + int labelMarginBottom = ((ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT - fm.getHeight()) / 2) + fm.getDescent(); graphics.drawString(item.getLabel(), - x + ObserveMapPaneLegendItem.LEGEND_SYMBOL_WIDTH, + x + LEGEND_MARGIN + ObserveMapPaneLegendItem.LEGEND_SYMBOL_WIDTH, y + ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT - labelMarginBottom); y += ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT; } + + graphics.setColor(ObserveMapPaneLegendItem.LEGEND_BACKGROUND); + graphics.fillRect( + x, + y, + legendWidth, + LEGEND_MARGIN); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.