используя DJ Native Swing API Browser ... как отобразить определенное место на веб-странице и как отключить полосу прокрутки браузера? - PullRequest
1 голос
/ 12 июля 2011

хорошо, это моя проблема: я сделал JPanel для открытия веб-страниц, но кажется, что он не работает так, как я хочу, поэтому я ищу способ заставить DJ NATIVE SWING-SWT API JWebBrowser открыть определенное местотолько на веб-сайте, и я отключаю вертикальные или горизонтальные полосы прокрутки ... так возможно ли это сделать?нужна ваша помощь, пожалуйста, ответьте.PS: я попробовал эти методы, чтобы отключить прокрутку:

JwebBrowser.setBarsVisible(false);
JwebBrowser.setButtonBarVisible(false);
JwebBrowser.setLocationBarVisible(false);

, но я думаю, что они не имеют ничего общего с прокруткой ....

Ответы [ 2 ]

0 голосов
/ 06 октября 2011

Я верю, что это то, что Кристофер достиг.Это похоже на код, который я использовал, чтобы убедиться, что визуализированный нативный компонент имел максимальный размер.+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));
             }
      }
});
0 голосов
/ 01 сентября 2011

Полосы прокрутки являются частью собственного компонента.На самом деле, если у вас есть наборы фреймов или текстовые компоненты, на одной странице может быть много полос прокрутки.

Один из способов скрытия полос прокрутки, я думаю, состоит в том, чтобы внедрить Javascript после загрузки целевой страницы, чтовыполнить эту задачу.

...