我正在为ControlsFX
使用最新版本的JavaFX
,我遇到了一个非常奇怪的错误..我希望有人找到了“修复”。
我没有为此创建一个简单的测试用例,但是如果我创建custom Dialog
,在其上添加GridPane
,请向SegmentedButton
添加GridPane
,整个Dialog失去了它的边界!
仅在我第一次打开对话框时发生这种情况。如果我重新创建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();
}
}
答案 0 :(得分:1)
经过一些实验,我只是在显示对话框之前调用dialog.getWindow().sizeToScene()
来解决问题。