Эллипс, который действует как кнопка в JavaFX

Я пытался найти способ построить два Ellipseобъекта, расположенных рядом друг с другом, которые можно щелкнуть и перейти к другим экранам, нажав на один из них.

Я не знаю, с чего начать. Прямо сейчас я знаю только надеюсь построить 2 обычные кнопки.

И как мы его создаем?

3 ответа

  1. Просто используйте Circleформу as для кнопок. По умолчанию фигура будет масштабироваться до 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));
    
  2. Что вы можете сделать, это иметь метку

    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
     } });