2016-04-25 19 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(true)を使用して試してみましたが、私は唯一のシェルと、ブラウザ上でそれを使用することができます。ディスプレイには常にfalseに設定されていますが、ここに問題がありますか?

答えて

1

WindowsのBrowserのスタイルとしてSWT.NONEを使用すると、デフォルトでInternet Explorerが使用されます。 IEがアニメーションを表示するために使用される魔法をサポートしていないようです。

SWT.MOZILLAを使用して、SWTがXULRunnerをバックエンドとして使用するようにしてください。

ここでそれを行う方法についてのいくつかのより多くの情報があります:

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

+0

私は通常私のIEで動作しますカスタムモデルビューアを持っています。 SWT.NONEがあってもswt.browserで正常に動作するはずです。 – InsaneCricket

+0

あなたがあなたの質問で指し示したページがIEでうまく働いていますか?それは私のためではありません。 [SWT FAQのこのセクション](https://www.eclipse.org/swt/faq.php#browsernativeie)には、IEに関するいくつかの問題が記載されています。 SWT <3.7の例として、IE7は 'Browser'ウィジェットで得られる最新のIEバージョンです。どのバージョンのSWTを使用していますか? – Baz

+0

私のIEではサイトが機能しませんが、IEで動作する開発者があり、残念なことにビューアを共有できません。 私はjxBrowserを使ってみましたが、それはうまく動作しますが、フリーではありませんので、別のオプションswt.browserを探しています。 – InsaneCricket

関連する問題