如何设置ControlFX Popover组件的高度和宽度

How to set height and width of ControlFX Popover component

我正在使用 ControlFx 的 Popover 来显示验证消息。我无法为弹出窗口设置所需的高度、宽度和样式。下面是我正在使用的代码。

PopOver popOver = new PopOver();
        Label messageLable = new Label();
        messageLable.setFont(Font.font(12));
        messageLable.setMinHeight(15);
        messageLable.setMaxHeight(15);
        messageLable.setMinWidth(40);
        messageLable.setText("Appropriate validation message ");
        popOver.setContentNode(messageLable);
        popOver.arrowSizeProperty().bind(new SimpleDoubleProperty(12));
        popOver.arrowIndentProperty().bind(new SimpleDoubleProperty(12));
        popOver.arrowLocationProperty().bind(new SimpleObjectProperty<>(ArrowLocation.LEFT_TOP));
        popOver.cornerRadiusProperty().bind(new SimpleDoubleProperty(5));
        popOver.hide(Duration.seconds(4));
        popOver.setDetachable(Boolean.FALSE);
        popOver.setStyle("-fx-background-color: rgb(255,0,255);");

编辑 1:

我可以从 CSS 设置样式(背景颜色等)。参考 Styling JavaFX Popover 的答案。 但我仍然无法设置所需的高度和宽度

我无法减小宽度和高度,因为 PopOverSkin class 使用箭头大小 属性、圆角半径 属性 和箭头缩进 属性。 以下是 class PopOverSkin 的摘录。

/*
         * The min width and height equal 2 * corner radius + 2 * arrow indent +
         * 2 * arrow size.
         */
        stackPane.minWidthProperty().bind(
                Bindings.add(Bindings.multiply(2, popOver.arrowSizeProperty()),
                        Bindings.add(
                                Bindings.multiply(2,
                                        popOver.cornerRadiusProperty()),
                                Bindings.multiply(2,
                                        popOver.arrowIndentProperty()))));

减小箭头大小、圆角半径和箭头缩进相应地改变了弹出框的高度和宽度