Javafx 将在另一个形状上绘制的形状设置为不可见

Javafx 将在另一个形状上绘制的形状设置为不可见,javafx,javafx-8,Javafx,Javafx 8,我想画一条穿过圆的线。但是,我不希望线在圆内时显示。我怎样才能做到这一点?注意,我先画圆,然后画线 我用了一些东西,比如: Circle.setOpacity设置为1,这没有帮助! 在同一组中添加圆和线后使用line.toBack。这也没用 托巴克 前线 line.toBack应该已经工作,或者只是先将该行添加到组中,或者通过add0添加该行,请提供一个命令行-出于某种原因,line.toBack不工作。我将研究如何提供mcv示例,但这里是一个快速总结。我画了一个圆圈,然后把它加到小组里。然后我

我想画一条穿过圆的线。但是,我不希望线在圆内时显示。我怎样才能做到这一点?注意,我先画圆,然后画线

我用了一些东西,比如:

Circle.setOpacity设置为1,这没有帮助! 在同一组中添加圆和线后使用line.toBack。这也没用 托巴克

前线


line.toBack应该已经工作,或者只是先将该行添加到组中,或者通过add0添加该行,请提供一个命令行-出于某种原因,line.toBack不工作。我将研究如何提供mcv示例,但这里是一个快速总结。我画了一个圆圈,然后把它加到小组里。然后我在与圆圈相同的窗格上绘制线条,并将线条添加到同一组并应用线条。toBack.@jewelsea-谢谢,我实际上已经算出了,下次我将确保提供mvce:
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.shape.*;
import javafx.stage.Stage;

public class LineUnderCircle extends Application {    
    @Override
    public void start(Stage stage) throws Exception {
        Line line = new Line(10, 10, 50, 50);
        line.setStrokeWidth(3);

        Circle left  = new Circle(10, 10, 8, Color.FORESTGREEN);
        Circle right = new Circle(50, 50, 8, Color.FIREBRICK);

        Button lineToBack = new Button("Line to back");
        lineToBack.setOnAction(e -> line.toBack());
        Button lineToFront = new Button("Line to front");
        lineToFront.setOnAction(e -> line.toFront());

        Pane shapePane = new Pane(line, left, right);

        HBox controlPane = new HBox(10, lineToBack, lineToFront);

        VBox layout = new VBox( 10, controlPane, shapePane);
        layout.setPadding(new Insets(10));

        stage.setScene(new Scene(layout));
        stage.show();
    }

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