2016-04-25 112 views
2

我想在Java應用程序中嵌入Web瀏覽器。 不幸的是,它必須在應用程序中,而不是打開瀏覽器。如何啓用左鍵單擊拖動或右鍵單擊swt.browser

我發現org.eclipse.swt.browser。我使用這個瀏覽器來顯示3D模型,當我點擊瀏覽器並拖動我的鼠標時,我應該可以旋轉它。有沒有一個選項來啓用這個或我可以做的任何事情來解決這個問題?

您可以使用本網站中的示例: https://a360.autodesk.com/viewer

當您打開該網站有可以用左鍵點擊旋轉或右鍵點擊移動模式。 Example site

但是,當我使用swt.browser我不能沒有旋轉,或拖動模式打開同一個頁面。

import org.eclipse.swt.SWT; 
import org.eclipse.swt.browser.Browser; 
import org.eclipse.swt.widgets.Display; 
import org.eclipse.swt.widgets.Shell; 


public class BrowserClass { 
    public static void main(String[] args) { 
    Display display = new Display(); 
    final Shell shell = new Shell(display); 
    shell.setText("Browser Example"); 
    shell.setSize(1300, 800); 


    final Browser browser = new Browser(shell, SWT.NONE); 
    browser.setBounds(5, 5, 1275, 750); 

    shell.open(); 
    browser.setUrl("https://a360.autodesk.com/viewer"); 
    while (!shell.isDisposed()) { 
     if (!display.readAndDispatch()) 
     display.sleep(); 
    } 
    display.dispose(); 
    } 
} 

enter image description here

我試圖消除display.sleep()和我一直在使用setTouchEnabled(真)嘗試,但我只能用它的外殼和瀏覽器。顯示屏始終將其設置爲false,問題是否可以在這裏?

回答

1

使用SWT.NONE作爲Browser的Windows上的風格將使用Internet Explorer作爲默認值。它看起來像IE不支持任何魔術來顯示動畫。

嘗試使用SWT.MOZILLA強制SWT使用XULRunner的作爲後端。

下面是關於如何做到這一點的一些詳細信息:

How do I explicitly use Mozilla as the Browser's underlying renderer?

+0

我通常在我的IE工程自定義模型查看器。這是否意味着它應該在swt.browser中工作得很好,即使它有SWT.NONE – InsaneCricket

+0

您在IE中指出的那個頁面是否適合您?它不適合我。 [這部分SWT常見問題](https://www.eclipse.org/swt/faq.php#browsernativeie)列出了IE的一些問題。以SWT <3.7爲例,IE7是您在「瀏覽器」窗口小部件中獲得的最新IE版本。你正在使用哪個版本的SWT? – Baz

+0

該網站在我的IE瀏覽器不起作用,但我有一個瀏覽器,我已經開發了在IE瀏覽器中工作,很好,我不能真正分享觀衆不幸。 我試過使用jxBrowser,它工作正常,但它不是免費的,所以我正在探索不同的選項swt.browser是其中之一。 – InsaneCricket