在 JavaFX 中充当按钮的椭圆

Ellipse that acts like a button in JavaFX

我一直在尝试找到一种方法来构建两个彼此相邻的 Ellipse 对象,可以单击它们并通过单击其中一个转到其他屏幕。

我不知道从哪里开始。现在我只知道希望建立2个常规按钮。

我们如何创建它?

elipse.addEventFilter(MouseEvent.MOUSE_CLICKED, e -> {
    //Add scene change here.
});

只需使用 Circle 作为按钮的形状。默认情况下,形状将缩放到 Button 大小,这会导致椭圆形 Buttons.

Button btn = new Button("Say 'Hello World'");

// circular shape scaled to Button dimensions = ellipse
btn.setShape(new Circle(1));

// increase distance from edges to text
btn.setPadding(new Insets(8));

你能做的就是有一个标签

Label label = new Label();
label.setId("button");

然后在标签中添加图像椭圆或任何您想要的内容。

Image image = new Image(getClass().getResourceAsStream("ellipse.png"));
label.setGraphic(new ImageView(image));

然后给标签添加鼠标点击事件

    label1.setOnMousePressed(new EventHandler<MouseEvent>() {
 @Override 
public void handle(MouseEvent e) { 
// write code to change screen
 } });