2016-04-25 12 views
2

Ich versuche, einen Webbrowser in eine Java-Anwendung einzubetten. Leider muss es in der Anwendung sein und keinen Browser öffnen.Wie kann ich das Klicken mit der linken Maustaste aktivieren oder mit der rechten Maustaste auf swt.browser klicken

Ich habe org.eclipse.swt.browser gefunden. Ich verwende diesen Browser, um 3D-Modelle anzuzeigen, und wenn ich in den Browser klicke und meine Maus ziehe, sollte ich in der Lage sein, sie zu drehen. Gibt es eine Option, um dies oder etwas zu aktivieren, das ich tun kann, um das zu beheben?

Sie können diese Seite für ein Beispiel verwenden: https://a360.autodesk.com/viewer

Beim Öffnen der Website gibt es Modelle, die mit der linken Maustaste oder verschoben mit der rechten Maustaste gedreht werden kann. Example site

Aber wenn ich dieselbe Seite mit swt.browser öffne, kann ich das Modell weder drehen noch ziehen.

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

Ich habe Entfernen display.sleep versucht() und ich habe versucht, setTouchEnabled (true) verwenden, aber ich kann es nur auf Shell und Browser. Das Display hat es immer auf false gesetzt, könnte das Problem hier sein?

Antwort

1

Die Verwendung von SWT.NONE als Stil des Browser unter Windows verwendet Internet Explorer als Standard. Es sieht so aus, als würde der IE keine Magie unterstützen, die zum Anzeigen der Animation verwendet wird.

Verwenden Sie SWT.MOZILLA, um SWT zu zwingen, XULRunner als Backend zu verwenden.

Hier einige weiteren Informationen, wie das zu tun:

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

+0

ich einen benutzerdefinierten Modell-Viewer, die normalerweise auf meinem IE funktioniert. Heißt das, dass es auch im swt.browser funktionieren sollte, selbst wenn es SWT.NONE hat – InsaneCricket

+0

Funktioniert die Seite, auf die Sie in Ihrer Frage gezeigt haben, für Sie in IE? Es ist nicht für mich. [Dieser Abschnitt der SWT FAQ] (https://www.eclipse.org/swt/faq.php#browsernative) listet einige Probleme mit IE auf. Ein Beispiel für SWT <3.7 IE7 ist die neueste IE-Version, die Sie in einem Browser-Widget erhalten. Welche Version von SWT verwenden Sie? – Baz

+0

Die Seite funktioniert nicht in meinem IE, aber ich habe einen Viewer, den ich entwickelt habe, der in IE funktioniert. Ich kann den Viewer leider nicht wirklich teilen. Ich habe versucht mit jxBrowser und es funktioniert gut, aber es ist nicht frei, also erkunde ich verschiedene Optionen swt.browser ist einer von ihnen. – InsaneCricket

Verwandte Themen