Reputation: 1
I am trying to connect two classes. One is main swing class and other is javafx web view in a swing frame. This is run perfectly but do not show the exact output. My URL is coming from my swing frame class.
public Instruction() {
System.out.println("new url number is=="+newurl);
System.out.println("token number is=="+first.tokennum);
System.out.println("final link is="+FirstToken.finallink);
frame1.add(panel);
frame1.setSize(500,500);
frame1.setVisible(true);
Platform.runLater(new Runnable() {
@Override
public void run() {
//To change body of generated methods, choose Tools | Templates.
initfx(panel);
}
});
}
public void initfx(JFXPanel panel){
Scene scene = createscene();
panel.setScene(scene);
geturl(FirstToken.finallink);
}
public Scene createscene(){
Group root = new Group();
Scene scene=new Scene(root);
Text text = new Text();
text.setX(50);
text.setY(100);
root.getChildren().add(text);
return (scene);
}
public void geturl(String url){
WebView web=new WebView();
System.out.println("url is="+url);
web.getEngine().load(url);
}
Upvotes: 0
Views: 170
Reputation: 159281
You are not adding the WebView that you create to the scene graph. To fix it, have your geturl
routine return your WebView and add that WebView to the group which forms the root of your scene.
If you don't understand, read the Oracle tutorial on integrating a JavaFX WebView into Swing and review the accompanied source.
Example code:
public WebView geturl(String url){
WebView webView = new WebView();
webView.getEngine().load(url);
return webView;
}
public void initfx(JFXPanel panel){
WebView webView = geturl(FirstToken.finallink);
Scene scene = createscene(webView);
panel.setScene(scene);
}
public Scene createscene(WebView webView){
Pane root = new Pane();
Scene scene = new Scene(root);
root.getChildren().add(webView);
return scene;
}
Upvotes: 1