2016-06-15 95 views
2

我正在评估JxBrowser 6.4作为我们应用程序的浏览器引擎。我们需要我们的软件来处理Window和OSX。当我尝试运行JxBrowser 6的javafx示例时,它只是挂起(不显示窗口)。没有任何例外,应用程序只是挂起没有任何用户界面。JxBrowser 6挂在osx el capitan

下面的代码(从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

请使用JxBrowser文档page中的示例来描述如何在JavaFX应用程序中使用JxBrowser。例如:

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); 
    } 
} 
相关问题