Я верю, что это то, что Кристофер достиг.Это похоже на код, который я использовал, чтобы убедиться, что визуализированный нативный компонент имел максимальный размер.+20, которое я нашел, было достаточно выдумки, чтобы преодолеть любые несоответствия.
String js_getHeight =
"var D = document;"+
"return Math.max("+
" Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),"+
" Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),"+
" Math.max(D.body.clientHeight, D.documentElement.clientHeight)"+
");";
String js_getWidth =
"var D = document;"+
"return Math.max("+
" Math.max(D.body.scrollWidth, D.documentElement.scrollWidth),"+
" Math.max(D.body.offsetWidth, D.documentElement.offsetWidth),"+
" Math.max(D.body.clientWidth, D.documentElement.clientWidth)"+
");";
webBrowser = new JWebBrowser();
webBrowser.addWebBrowserListener(new WebBrowserAdapter(){
@Override public void loadingProgressChanged(WebBrowserEvent e) {
if(e.getWebBrowser().getLoadingProgress()==100){
NativeComponent nComp = webBrowser.getNativeComponent();
double width = Double.parseDouble(webBrowser.executeJavascriptWithResult(js_getWidth).toString())+20;
double height = Double.parseDouble(webBrowser.executeJavascriptWithResult(js_getHeight).toString())+20;
nComp.setSize(new Dimension((int)width, (int)height));
}
}
});