/ / JavaFx Webview não carrega url - webview, javafx, load, jpanel

JavaFx Webview não carrega url - webview, javafx, load, jpanel

Eu segui muitos tutoriais, mas talvez eu esteja perdendo alguma coisa, porque a URL não está carregada na visualização da Web javafx e um painel branco está sendo exibido, em vez de uma página da Web. Eu tentei com http://google.com e outras páginas da Web, mas nenhuma delas está sendo exibida. O JPanel abaixo aparece em um JTabbedPane. Eu acho que o painel branco é o JFXPanel, que é preenchido abaixo.

Este é o código:

public class RtcOverview extends JPanel {

private final JFXPanel jfxPanel = new JFXPanel();
private WebEngine engine;

String url = "http://google.com";

public RtcOverview() {

super();
initComponents();
this.add(jfxPanel);
}

private void initComponents() {


Platform.runLater(new Runnable() {
@Override
public void run() {

WebView view = new WebView();

engine = view.getEngine();
engine.load(url);
Scene scene = new Scene(view);
jfxPanel.setScene(scene);
}
});
}

insira a descrição da imagem aqui

Respostas:

3 para resposta № 1

Corre perfeitamente para mim. Eu estou anexando um MCVE, para que você possa comparar e ver o que deu errado no seu caso. Caso este MCVE falhe em sua máquina, aconselho-o a verificar suas configurações de internet e certificar-se de que suas configurações não bloqueiam o aplicativo de usar a Internet.

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;

import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main extends JFrame {

private final JFXPanel jfxPanel = new JFXPanel();
private WebEngine engine;

String url = "http://google.com";

public Main() {
super();
initComponents();
getContentPane().add(jfxPanel);
setSize(500, 500);
// Kill everything on closing the frame
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

private void initComponents() {
Platform.runLater(new Runnable() {
@Override
public void run() {
WebView view = new WebView();
engine = view.getEngine();
engine.load(url);
Scene scene = new Scene(view);
jfxPanel.setScene(scene);
}
});
}

public static void main(String[] args) {
Main main = new Main();
main.setVisible(true);
}
}