¿Cuáles son las dimensiones exactas de una línea en JavaFX 2?

Me pregunto sobre el ancho exacto de una línea en JavaFX 2.1.

La creación de una línea recta que comienza en el punto (10; 10) y termina en el punto (20; 10) debe tener un ancho esperado de 10 px. Al leer el ancho de la línea se devuelve un valor de 11px. Al iniciar el ejemplo adjunto y hacer una captura de pantalla, verá que, a un nivel de zoom más alto, la línea tiene un ancho de 12 píxeles y una altura de 2 píxeles.

Usando unLineBuilder No hace ninguna diferencia. He tratado de aplicar una diferenteStrokeType sin éxito.

La creación de un cuadrado con una longitud de lado de 10 devuelve el ancho esperado de 10px.

Por queline.getBoundsInLocal().getWidth() devuelve valores diferentes de los que veo en el resultado renderizado (captura de pantalla)?¿Por qué hay una diferencia en cuanto al ancho al crear líneas y polígonos?

Ejemplo:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Line;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;

public class ShapeWidthDemo extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        Group root = new Group();

        int startX = 10;
        int startY = 10;
        int length = 10;

        Line line = new Line(startX, startY, startX + length, startY);
        System.out.println("line width: " + line.getBoundsInLocal().getWidth());
        //->line width: 11.0
        System.out.println("line height: " + line.getBoundsInLocal().getHeight());
        //->line height: 1.0
        root.getChildren().add(line);

        int startY2 = startY + 2;

        Polygon polygon = new Polygon(
            startX, startY2,
            startX + 10, startY2, 
            startX + 10, startY2 + 10, 
            startX, startY2 + 10);
        System.out.println("polygon width: " + polygon.getBoundsInLocal().getWidth());
        //->polygon width: 10.0
        System.out.println("polygon height: " + polygon.getBoundsInLocal().getHeight());
        //->polygon height: 10.0
        root.getChildren().add(polygon);

        stage.setScene(new Scene(root, 100, 100));
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta