I am learning about JavaFX and I am trying to create an AnchorPane
which includes in itself 3 more AnchorPane
s. Currently, I have a problem where the shadow of the panel is hidden because of the panel next to it. So I need some suggestion on how to fix this issue.
I have tried to create a distance between them, but then I can see a white layer behind. I have tried to change z-order of the layer, doesn't seem to work, so now after 2 hours of not knowing what to do, I am asking here. maybe someone knows.
My code:
DropShadow dropShadow2;
AnchorPane iconPane, menuPane, viewPane;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage){
dropShadow2 = new DropShadow();
dropShadow2.setOffsetX(6.0);
dropShadow2.setOffsetY(4.0);
//Main layout
AnchorPane main_layout = new AnchorPane();
//Icon layout (left)
setUpIconLayout();
//Menu layout (center)
setUpMenuLayout();
//View layout (right)
setUpViewLayout();
main_layout.getChildren().addAll(iconPane, menuPane, viewPane);
Scene scene = new Scene(main_layout, 1000, 600);
primaryStage.setTitle("Delivery System Database");
primaryStage.setScene(scene);
primaryStage.show();
}
private void setUpIconLayout() {
iconPane = new AnchorPane();
iconPane.setPrefSize(50,600);
String hexColor_left = "D64550";
iconPane.setStyle("-fx-background-color: #" + hexColor_left);
iconPane.setEffect(dropShadow2);
}
private void setUpMenuLayout() {
menuPane = new AnchorPane();
menuPane.setPrefSize(200,600);
String hexColor_mid = "EA9E8D";
menuPane.setStyle("-fx-background-color: #" + hexColor_mid);
menuPane.setEffect(dropShadow2);
menuPane.setTranslateX(50);
}
private void setUpViewLayout() {
viewPane = new AnchorPane();
viewPane.setPrefSize(700,600);
String hexColor_right = "DAEFB3";
viewPane.setStyle("-fx-background-color: #" + hexColor_right);
viewPane.setEffect(dropShadow2);
viewPane.setTranslateX(250);
}
}
Child nodes are rendered in the order they’re added, so it should be sufficient to add them in reverse order:
main_layout.getChildren().addAll(viewPane, menuPane, iconPane);