我尝试将javafx HTMLEditor设置为在容器上获取​​所有可用大小。
接下来是源代码。

public class HtmlEditorTest extends Application {

@Override
public void start(Stage stage) {
    stage.setTitle("HTMLEditor Sample");
    stage.setWidth(400);
    stage.setHeight(300);
    final HTMLEditor htmlEditor = new HTMLEditor();
    htmlEditor.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
    MigPane migPane = new MigPane("fill, debug", "[fill]", "fill");
    migPane.add(htmlEditor);
    Scene scene = new Scene(migPane);
    stage.setScene(scene);
    stage.show();
}

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


如果我将HTMLEditor替换为TextArea,我将获得预期的行为。您可能会看到结果here

设置htmlEditor.setMaxSize(Double.MAX_VALUE,Double.MAX_VALUE)
未解决问题(基于this answer
您可能会在图片上看到,我在调试模式下使用MigPane。实际上,TextArea和HTMLEditor占用了整个容器的可用空间。但是,HTMLEditor文本区域和滚动条不会占用HTMLEditor中的可用空间。
我该如何解决这个问题?

最佳答案

下一个添加项解决了这个问题。

    WebView webview = (WebView) editor.lookup("WebView");
    GridPane.setHgrow(webview, Priority.ALWAYS);
    GridPane.setVgrow(webview, Priority.ALWAYS);

10-05 18:56