Не вижу JxBrowser в BorderPane

Вот код. Я не вижу jxBrowser в VBox. Он создает его, но не отображает. Кто-нибудь знает, почему это будет? Разрешено ли JxBrowser быть вложенным таким образом? VBox liveStream = новый VBox(); liveStream.setSpacing(10);

//HBox Creation
HBox urlTextHolder = new HBox();
urlTextHolder.setSpacing(10);
urlTextHolder.setPadding(new Insets(1,5,5,5));

//Text Field and Button Creation (Removed this code because it is not relevant)

Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
browser.loadHTML("<html><body><h1>Hello World!</h1></body></html>");


urlTextHolder.getChildren().addAll(url, urlSubmit);
liveStream.getChildren().addAll(urlTextHolder, browserView);
main.setLeft(liveStream);

//Scene WindowbrowserView

Scene scene = new Scene(main, 1920, 1080, Color.WHITE);
Stage mainPage= new Stage();
mainPage.setTitle("ILEC Live Stream Viewing");
mainPage.setScene(scene);
mainPage.show();

person Chris Ouellette    schedule 06.01.2018    source источник


Ответы (1)


Вы должны правильно построить макет JavaFX. JavaFX BrowserView расширяет StackPane. Поэтому, если вы вызовете следующий код:

liveStream.getChildren().addAll(urlTextHolder, browserView);
VBox.setVgrow(browserView, Priority.ALWAYS);

и добавьте экземпляр livestream в центр main:

BorderPane main = new BorderPane(liveStream);

содержимое браузера должно быть успешно отображено.

person Nikita Shvinagir    schedule 15.01.2018