如何在线内添加垂直线

时间:2017-09-19 07:44:58

标签: javafx line scene

以下是我的代码:

    public void start(Stage primaryStage) throws Exception {
    Pane root = new Pane();
    Scene scene = new Scene(root, 500, 500);

    Line line = new Line(100,0,300,0);
    line.setStrokeWidth(20);
    line.setStroke(Color.YELLOW);
    root.getChildren().add(line);

    primaryStage.setScene(scene);
    primaryStage.show();
 }

这是图像(如果我显示图像会更清楚)

Line

我的问题是:我想设计我的line,所以我想在line内添加垂直线。有什么方法可以做到吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

例如,可以使用两个Line s:

绘制
public class LineDemo extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        Pane root = new Pane();
        Scene scene = new Scene(root, 500, 500);

        // Background line
        Line lineBlack = new Line(98,50,302,50);
        lineBlack.setStroke(Color.BLACK);
        lineBlack.setStrokeWidth(24);
        lineBlack.setStrokeLineCap(StrokeLineCap.BUTT);

        // Top line
        Line line = new Line(100,50,300,50);
        line.setStroke(Color.YELLOW);
        line.setStrokeWidth(20);

        // Vertical lines
        line.getStrokeDashArray().addAll(20d, 2d, 40d, 2d, 82d, 2d, 20d, 2d, 30d);
        line.setStrokeLineCap(StrokeLineCap.BUTT);


        root.getChildren().addAll(lineBlack, line);

        primaryStage.setScene(scene);
        primaryStage.show();
    }


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

获得如下结果:

enter image description here

注意:也可以使用LinearGradient s完全解决。