我正在使用Javafx webview将网页嵌入到独立的Java应用程序中。该应用程序的帧大小为415 x 180.我希望网页的左上角显示在jfxPanel的左上角。由于某种原因,网页LHS出现在我的jfxPanel LHS的左侧。我可以用css调整页面来缩进页面,但是想知道在我的java代码中是否有一种简单的方法可以解决这个问题?
此外,滚动条已消失。我只需要垂直滚动条。我需要改变什么想法,以便我可以有一个垂直滚动条?
在我的主要java程序中,我有:
JPanel jPanel = new JPanel();
browser browser = new browser(jPanel);
browser.loadURL("http://www.url.com");
jtp.addTab("tab", jPanel);
bowser课程是:
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.*;
import java.net.MalformedURLException;
import java.net.URL;
public class browser extends JFrame {
private final JFXPanel jfxPanel = new JFXPanel();
private WebEngine engine;
private JPanel panel;
public browser(JPanel panel) {
super();
this.panel = panel;
initComponents();
}
private void initComponents() {
createScene();
panel.add(jfxPanel, BorderLayout.CENTER);
}
private void createScene() {
Platform.runLater(new Runnable() {
@Override
public void run() {
WebView view = new WebView();
engine = view.getEngine();
jfxPanel.setScene(new Scene(view));
}
});
}
public void loadURL(final String url) {
Platform.runLater(new Runnable() {
@Override
public void run() {
String tmp = toURL(url);
if (tmp == null) {
tmp = toURL("http://" + url);
}
engine.load(tmp);
}
});
}
private static String toURL(String str) {
try {
return new URL(str).toExternalForm();
} catch (MalformedURLException exception) {
return null;
}
}
}