How to set minimum diameter in jfxtras CircularPane?

38 views Asked by At

How to set minimum diameter to jfxtras circularpane. For example take a look at following code,

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
import jfxtras.scene.layout.*;

/**
 * AssistiveBall
 */
public class AssistiveBall extends Application
{
    @Override
    public void start(Stage pStage) throws Exception 
    {
        StackPane root = new StackPane();
        CircularPane pane = new CircularPane();
        Scene scene = new Scene(root, 800, 600);
        Button btn = new Button("Center");
        Button[] buttons = new Button[13];

        for (int i = 0; i < buttons.length; i++)
        {
            buttons[i] = new Button("" + i);
        }

        pane.getChildren().addAll(buttons);

        btn.setOnAction(e -> {
            if(pane.isVisible())
            {
                pane.setVisible(false);
            }
            else
            {
                pane.setVisible(true);
            }
        });

        root.getChildren().add(pane);
        root.getChildren().add(btn);

        pStage.setScene(scene);
        pStage.setTitle("Assistive Ball");
        pStage.show();
    }

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

Here here code if fine, but if i use just 3 buttons it starts appear one on another, So how to set minimum diameter or there is any another way to do this ?

Thanks.

1

There are 1 answers

0
tbeernot On

Version 11-r3-SNAPSHOT has changed certain methods like computeChainDiameter and determineBeadDiameter to protected, so you can override them and tune the output.