import javafx.scene.Group;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.image.ImageViewBuilder;
import javafx.scene.layout.StackPaneBuilder;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.CircleBuilder;
public class MenuItemView extends Group {
public MenuItemView(String menuImage, double centerX, double centerY,
double radius) {
Circle menuItem = CircleBuilder
.create()
.centerX(centerX)
.centerY(centerY)
.translateX(centerX - radius)
.translateY(centerY - radius)
.radius(radius)
.fill(Color.TRANSPARENT)
.style("-fx-fill: linear-gradient(#d6d6d6, #ffffff); -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.4), 20, 0, 0, 0)")
.build();
ImageView menuImageView = ImageViewBuilder.create()
.image(new Image(menuImage)).fitWidth(radius).fitHeight(radius)
.smooth(true).preserveRatio(true).translateX(centerX - radius)
.translateY(centerY - radius).build();
getChildren().addAll(
StackPaneBuilder.create().children(menuItem, menuImageView)
.build());
}
}