我尝试将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);