/ / JavaFx Webview nie ładuje adresu URL - webview, javafx, load, jpanel

Przeglądarka JavaFx nie ładuje adresu URL - webview, javafx, load, jpanel

Śledziłem wiele samouczków, ale może coś mi pominęło, ponieważ adres URL nie jest załadowany w przeglądarce internetowej javafx i zamiast strony internetowej wyświetlany jest biały panel. http://google.com i inne strony internetowe, ale żadna z nich nie jest wyświetlana. JPanel od dołu pojawia się w JTabbedPane. Myślę, że biały panel to JFXPanel, który jest wypełniony poniżej.

To jest kod:

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);
}
});
}

wprowadź opis obrazu tutaj

Odpowiedzi:

3 dla odpowiedzi № 1

Działa doskonale dla mnie. Załączam MCVE, abyś mógł porównać i zobaczyć, co poszło nie tak w twoim przypadku. Jeśli MCVE ulegnie awarii na twoim komputerze, radzę ci sprawdzić ustawienia internetowe i upewnić się, że twoje ustawienia nie blokują aplikacji dostępu do Internetu.

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);
}
}