2016-06-15 6 views
2

私は、アプリケーションのブラウザエンジンとしてJxBrowser 6.4を評価しています。私たちのソフトウェアはWindowとOSXで動作する必要があります。 JxBrowser 6のjavafxのサンプルを実行しようとすると、ハングアップするだけです(ウィンドウは表示されません)。例外はなく、アプリケーションはUIなしでハングアップします。osx el capitanでJxBrowser 6がハングアップする

ここで(jxbrowserドキュメントからコピー&ペースト)コードです:

import com.teamdev.jxbrowser.chromium.Browser; 
import com.teamdev.jxbrowser.chromium.javafx.BrowserView; 

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.layout.StackPane; 
import javafx.stage.Stage; 

public class JfxView extends Application { 
    @Override 
    public void start(Stage primaryStage) { 
     Browser browser = new Browser(); 
     BrowserView browserView = new BrowserView(browser); 

     StackPane pane = new StackPane(); 
     pane.getChildren().add(browserView); 
     Scene scene = new Scene(pane, 400, 300); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 

     browser.loadHTML("<html><body><h1>Hello world!</h1></body></html>"); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 

次のように最後のいくつかのログは、次のとおりです。

JxBrowser license valid. 
08:10:02 INFO: OS name: Mac OS X 
08:10:02 INFO: JRE version: 1.8.0_65 64-bit 
08:10:02 INFO: JxBrowser version: 6.4 
08:10:02 INFO: JxBrowser type: HEAVYWEIGHT 
08:10:02 INFO: Starting IPC... 
08:10:02 INFO: Starting IPC Server... 
08:10:02 INFO: Starting socket server 
08:10:02 INFO: Starting socket server at port 1101... 
08:10:02 INFO: Starting IPC Process... 

スイングの例では、正常に動作し、同じコードが完全に実行されます窓には問題ありません。

答えて

1

JavaFXアプリケーションでJxBrowserを使用する方法について説明しているJxBrowserのドキュメントpageの例を使用してください。ここに例があります:

import com.teamdev.jxbrowser.chromium.Browser; 
import com.teamdev.jxbrowser.chromium.BrowserCore; 
import com.teamdev.jxbrowser.chromium.internal.Environment; 
import com.teamdev.jxbrowser.chromium.javafx.BrowserView; 
import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.layout.BorderPane; 
import javafx.stage.Stage; 

/** 
* Demonstrates how to embed Browser instance into JavaFX application. 
*/ 
public class JavaFXSample extends Application { 

    @Override 
    public void init() throws Exception { 
     // On Mac OS X Chromium engine must be initialized in non-UI thread. 
     if (Environment.isMac()) { 
      BrowserCore.initialize(); 
     } 
    } 

    @Override 
    public void start(final Stage primaryStage) { 
     Browser browser = new Browser(); 
     BrowserView view = new BrowserView(browser); 

     Scene scene = new Scene(new BorderPane(view), 700, 500); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 

     browser.loadURL("http://www.google.com"); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 
関連する問題