0

如何将最小直径设置为 jfxtras 圆形窗格。例如看看下面的代码,

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

这里的代码如果没问题,但如果我只使用 3 个按钮,它开始一个接一个地出现,那么如何设置最小直径或有其他方法可以做到这一点?

谢谢。

4

1 回答 1

0

版本 11-r3-SNAPSHOT 已将某些方法(例如 computeChainDiameter 和 determineBeadDiameter)更改为 protected,因此您可以覆盖它们并调整输出。

于 2021-12-05T10:23:30.763 回答