Reputation: 1657
I have a Swing application with a JavaFX WebView embedded in it. I can load an initial web page using the WebView's WebEngine. However, subsequent calls to WebEngine.load are not working for some reason. Here's the debugging code I've added to the WebEngine:
private static WebView initFX(JFXPanel fxPanel) {
StackPane root = new StackPane();
Scene scene = new Scene(root, Color.ALICEBLUE);
final WebView webView = new WebView();
final WebEngine webEngine = webView.getEngine();
root.getChildren().add(webView);
webEngine.load("http://www.google.com");
webEngine.setOnAlert(new EventHandler<WebEvent<String>>() {
@Override
public void handle(WebEvent<String> arg0) {
System.out.println("alert: " + arg0);
}
});
webEngine.getLoadWorker().progressProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> arg0, Number arg1, Number arg2) {
System.out.println("Process changed: " + arg0 + ", arg1: " + arg1 + ", arg2: " + arg2);
}
});
webEngine.getLoadWorker().messageProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> arg0, String arg1, String arg2) {
System.out.println("message changed: " + arg0 + ", arg1: " + arg1 + ", arg2: " + arg2);
}
});
webEngine.getLoadWorker().exceptionProperty().addListener(new ChangeListener<Throwable>() {
@Override
public void changed(ObservableValue<? extends Throwable> arg0, Throwable arg1, Throwable arg2) {
throw Throwables.throwUncheckedException(arg2);
}
});
webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
@Override
public void changed(ObservableValue<? extends Worker.State> arg0, Worker.State arg1, Worker.State arg2) {
System.out.println("old state: " + arg1 + ", new state: " + arg2 + ", arg0: " + arg0);
}
});
fxPanel.setScene(scene);
return webView;
}
And then we have the code that tries to change the web page:
// Drag and drop event comes in on the AWT thread.
// Switch to the FX thread and run the load there
public void dropObjects(Iterable<Locator> objects) {
try {
browserControllerLatch.await();
Platform.runLater(new Runnable() {
@Override
public void run() {
webView.getEngine().load("http://www.arstechnica.com");
}
});
} catch (InterruptedException e) {
throw Throwables.throwUncheckedException(e);
}
}
This produces the following output. I first load google, and then try to load the nytimes.com.
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@7f311653, name: progress, value: 0.30000000000000004], arg1: 0.0, arg2: 0.30000000000000004
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@7f311653, name: progress, value: 0.3750537109375], arg1: 0.30000000000000004, arg2: 0.3750537109375
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: message, value: Loading http://ssl.gstatic.com/gb/images/b_8d5afc09.png], arg1: , arg2: Loading http://ssl.gstatic.com/gb/images/b_8d5afc09.png
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.0], arg1: -1.0, arg2: 0.0
old state: READY, new state: SCHEDULED, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: state, value: SCHEDULED]
old state: SCHEDULED, new state: RUNNING, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: state, value: RUNNING]
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.1361267397098016], arg1: 0.0, arg2: 0.1361267397098016
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@7f311653, name: message, value: Loading complete], arg1: Loading http://www.google.com/, arg2: Loading complete
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@7f311653, name: progress, value: 1.0], arg1: 0.3750537109375, arg2: 1.0
old state: RUNNING, new state: SUCCEEDED, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@7f311653, name: state, value: SUCCEEDED]
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.2439676525013781], arg1: 0.1361267397098016, arg2: 0.2439676525013781
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.3674793663516144], arg1: 0.2439676525013781, arg2: 0.3674793663516144
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.49099108020185067], arg1: 0.3674793663516144, arg2: 0.49099108020185067
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.5579187727289953], arg1: 0.49099108020185067, arg2: 0.5579187727289953
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.6248464652561398], arg1: 0.5579187727289953, arg2: 0.6248464652561398
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.6917741577832844], arg1: 0.6248464652561398, arg2: 0.6917741577832844
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.7067348499897916], arg1: 0.6917741577832844, arg2: 0.7067348499897916
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.8196757488843449], arg1: 0.7067348499897916, arg2: 0.8196757488843449
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 0.8548236404421787], arg1: 0.8196757488843449, arg2: 0.8548236404421787
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: message, value: Loading complete], arg1: Loading http://ssl.gstatic.com/gb/images/b_8d5afc09.png, arg2: Loading complete
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: progress, value: 1.0], arg1: 0.8548236404421787, arg2: 1.0
old state: RUNNING, new state: SUCCEEDED, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@2514c48a, name: state, value: SUCCEEDED]
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: message, value: Loading stopped], arg1: Loading http://www.google.com/, arg2: Loading stopped
old state: RUNNING, new state: CANCELLED, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: state, value: CANCELLED]
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: message, value: ], arg1: Loading stopped, arg2:
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: -1.0], arg1: 0.0, arg2: -1.0
old state: CANCELLED, new state: READY, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: state, value: READY]
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: message, value: Loading http://www.nytimes.com/], arg1: , arg2: Loading http://www.nytimes.com/
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.0], arg1: -1.0, arg2: 0.0
old state: READY, new state: SCHEDULED, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: state, value: SCHEDULED]
old state: SCHEDULED, new state: RUNNING, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: state, value: RUNNING]
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.30000000000000004], arg1: 0.0, arg2: 0.30000000000000004
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.37692307692307697], arg1: 0.30000000000000004, arg2: 0.37692307692307697
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.4153846153846154], arg1: 0.37692307692307697, arg2: 0.4153846153846154
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.4371344828559657], arg1: 0.4153846153846154, arg2: 0.4371344828559657
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.46145061663389897], arg1: 0.4371344828559657, arg2: 0.46145061663389897
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.4889858904668283], arg1: 0.46145061663389897, arg2: 0.4889858904668283
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.4996095231732179], arg1: 0.4889858904668283, arg2: 0.4996095231732179
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.49962536129670365], arg1: 0.4996095231732179, arg2: 0.49962536129670365
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.5333407915930204], arg1: 0.49962536129670365, arg2: 0.5333407915930204
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.5626822750946262], arg1: 0.5333407915930204, arg2: 0.5626822750946262
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.5941663733048309], arg1: 0.5626822750946262, arg2: 0.5941663733048309
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.6221525081979236], arg1: 0.5941663733048309, arg2: 0.6221525081979236
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.6427489898360779], arg1: 0.6221525081979236, arg2: 0.6427489898360779
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.6511656916228664], arg1: 0.6427489898360779, arg2: 0.6511656916228664
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.6781609002406684], arg1: 0.6511656916228664, arg2: 0.6781609002406684
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.7014367363219931], arg1: 0.6781609002406684, arg2: 0.7014367363219931
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.7259500858917705], arg1: 0.7014367363219931, arg2: 0.7259500858917705
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.7502698308413603], arg1: 0.7259500858917705, arg2: 0.7502698308413603
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.7746271668215516], arg1: 0.7502698308413603, arg2: 0.7746271668215516
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.7753621953130199], arg1: 0.7746271668215516, arg2: 0.7753621953130199
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.7971212698771013], arg1: 0.7753621953130199, arg2: 0.7971212698771013
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.7978113746702923], arg1: 0.7971212698771013, arg2: 0.7978113746702923
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8246883429436381], arg1: 0.8045146825367253, arg2: 0.8246883429436381
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8506063568503134], arg1: 0.8246883429436381, arg2: 0.8506063568503134
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8658103758125865], arg1: 0.8506063568503134, arg2: 0.8658103758125865
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8897690876754529], arg1: 0.8658103758125865, arg2: 0.8897690876754529
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8986044176113637], arg1: 0.8897690876754529, arg2: 0.8986044176113637
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8994287053144517], arg1: 0.8986044176113637, arg2: 0.8994287053144517
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8994895637143085], arg1: 0.8994287053144517, arg2: 0.8994895637143085
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8996659228140144], arg1: 0.8994895637143085, arg2: 0.8996659228140144
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.899756240085032], arg1: 0.8996659228140144, arg2: 0.899756240085032
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8999302539945363], arg1: 0.899756240085032, arg2: 0.8999302539945363
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8999779051067591], arg1: 0.8999302539945363, arg2: 0.8999779051067591
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: message, value: Loading complete], arg1: Loading http://www.nytimes.com/, arg2: Loading complete
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 1.0], arg1: 0.8999779051067591, arg2: 1.0
old state: RUNNING, new state: SUCCEEDED, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: state, value: SUCCEEDED].scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8045146825367253], arg1: 0.7978113746702923, arg2: 0.8045146825367253
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8246883429436381], arg1: 0.8045146825367253, arg2: 0.8246883429436381
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8506063568503134], arg1: 0.8246883429436381, arg2: 0.8506063568503134
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8658103758125865], arg1: 0.8506063568503134, arg2: 0.8658103758125865
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8897690876754529], arg1: 0.8658103758125865, arg2: 0.8897690876754529
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8986044176113637], arg1: 0.8897690876754529, arg2: 0.8986044176113637
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8994287053144517], arg1: 0.8986044176113637, arg2: 0.8994287053144517
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8994895637143085], arg1: 0.8994287053144517, arg2: 0.8994895637143085
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8996659228140144], arg1: 0.8994895637143085, arg2: 0.8996659228140144
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.899756240085032], arg1: 0.8996659228140144, arg2: 0.899756240085032
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8999302539945363], arg1: 0.899756240085032, arg2: 0.8999302539945363
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 0.8999779051067591], arg1: 0.8999302539945363, arg2: 0.8999779051067591
message changed: ReadOnlyStringProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: message, value: Loading complete], arg1: Loading http://www.nytimes.com/, arg2: Loading complete
Process changed: ReadOnlyDoubleProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: progress, value: 1.0], arg1: 0.8999779051067591, arg2: 1.0
old state: RUNNING, new state: SUCCEEDED, arg0: ReadOnlyObjectProperty [bean: javafx.scene.web.WebEngine$LoadWorker@4d8ed331, name: state, value: SUCCEEDED]
From the output, it seems like the WebView has loaded nytimes.com. However, the WebView never shows the update.
Does anyone have ideas about what might be wrong, or suggestions for how I can get more information about what's going on within the WebView?
I see the same behavior in Java 7 and 8.
Edit: If anyone has requests for additional info or debugging output, I'm happy to provide that.
Edit: This was caused by a mistake in other code not related to the JavaFX/Swing integration. Thank you all for your suggestions!
Upvotes: 1
Views: 2568
Reputation: 18415
Here's a fully working example about how to do it. In the future please post a MCVE, especially since you got Swing involved and posted only some parts of JavaFX code.
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javafx.application.Platform;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.concurrent.Worker;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class SwingBrowser extends JPanel {
WebEngine webEngine;
private static void initAndShowGUI() {
JFrame frame = new JFrame();
frame.add(new SwingBrowser());
frame.setSize(1024, 768);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public SwingBrowser() {
JPanel toolbar = new JPanel();
toolbar.setLayout(new FlowLayout());
JButton button;
button = new JButton("Google");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
loadPage("http://www.google.com");
}
});
toolbar.add(button);
button = new JButton("NY Times");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
loadPage("http://www.nytimes.com");
}
});
toolbar.add(button);
final JFXPanel fxPanel = new JFXPanel();
setLayout(new BorderLayout());
add(fxPanel, BorderLayout.CENTER);
add(toolbar, BorderLayout.NORTH);
Platform.runLater(new Runnable() {
@Override
public void run() {
initFX(fxPanel);
}
});
}
private void loadPage(String url) {
Platform.runLater(new Runnable() {
@Override
public void run() {
webEngine.load(url);
}
});
}
private void initFX(JFXPanel fxPanel) {
Scene scene = createScene();
fxPanel.setScene(scene);
}
private Scene createScene() {
WebView webView = new WebView();
webEngine = webView.getEngine();
webEngine.getLoadWorker().progressProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> arg0, Number arg1, Number arg2) {
System.out.println("Process changed: " + arg0 + ", arg1: " + arg1 + ", arg2: " + arg2);
}
});
webEngine.getLoadWorker().messageProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> arg0, String arg1, String arg2) {
System.out.println("message changed: " + arg0 + ", arg1: " + arg1 + ", arg2: " + arg2);
}
});
webEngine.getLoadWorker().exceptionProperty().addListener(new ChangeListener<Throwable>() {
@Override
public void changed(ObservableValue<? extends Throwable> arg0, Throwable arg1, Throwable arg2) {
System.out.println(arg0);
System.out.println(arg1);
System.out.println(arg2);
}
});
webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
@Override
public void changed(ObservableValue<? extends Worker.State> arg0, Worker.State arg1, Worker.State arg2) {
System.out.println("old state: " + arg1 + ", new state: " + arg2 + ", arg0: " + arg0);
}
});
webEngine.load("http://www.google.com");
BorderPane bp = new BorderPane();
bp.setCenter(webView);
Scene scene = new Scene(bp);
return (scene);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
initAndShowGUI();
}
});
}
}
Upvotes: 1