0

我正在使用最新版本的ControlsFXfor JavaFX,我遇到了一个非常奇怪的错误..我希望有人找到了一个“修复”它。

我没有为此创建一个简单的测试用例,但是如果我创建一个custom Dialog,在其GridPane上添加一个,将一个添加SegmentedButtonGridPane整个 Dialog 就会失去它的边界!

这仅在我第一次打开对话框时发生。如果我重新创建对话框一切正常*

由于这样的故障,我真的很讨厌转储 SegmentedButton .. 还有其他人遇到过这个问题吗?

编辑,这是一个应该演示该错误的简单测试。现在效果更差了,在这个测试中。这似乎是某种剪辑错误。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ToggleButton;
import javafx.stage.Stage;
import org.controlsfx.control.SegmentedButton;
import org.controlsfx.dialog.Dialog;

public class DialogTest extends Application {

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

    @Override
    public void start(Stage primaryStage) throws Exception {
        Group root = new Group();
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);

        primaryStage.show();

        Dialog dlg = new Dialog(primaryStage, "Test Dialog");
        dlg.setMasthead("Dialog test");
        dlg.setIconifiable(false);
        dlg.setResizable(false);

        SegmentedButton seg = new SegmentedButton();
        seg.getButtons().add(new ToggleButton("Button 1"));
        seg.getButtons().add(new ToggleButton("Button 2"));
        seg.getButtons().add(new ToggleButton("Button 3"));
        seg.getButtons().add(new ToggleButton("Button 4"));
        seg.getButtons().add(new ToggleButton("Button 5"));

        dlg.setContent(seg);

        dlg.show();
    }
}
4

1 回答 1

1

经过一些实验,我通过dialog.getWindow().sizeToScene()在显示对话框之前调用解决了这个问题。

于 2014-09-09T09:58:37.303 回答