我有 2 个Java文件,第一个是程序背后的主要java代码。第二个是 jfx.Webview 。我一直在尝试将 jfx.Webview 包含在第一个Java文件中的 JPanel 中。我是Java的新手,它绝对不像我想的那么容易。如果有更好理解的人能够向我解释完成这项工作的正确方法,那将会有很大的帮助。
以下是一些清理后的2个Java文件:
public class Xzibit07 {
public static void main(String[] args) {
generateUI();
}
private static void generateUI(){
XzibitUI program = new XzibitUI();
program.setVisible(true);
program.setTitle("Xzibit");
ImageIcon logoIcon = new ImageIcon(new ImageIcon("Data/Images/Logo.jpg").getImage().getScaledInstance(program.logoLabel.getWidth(), program.logoLabel.getHeight(), Image.SCALE_DEFAULT));
program.logoLabel.setIcon(logoIcon);
program.logoLabel.setBounds((program.logoPanel.getWidth()/2 - program.logoLabel.getWidth()/2), 0, 0, 0);
ImageIcon settingsIcon = new ImageIcon(new ImageIcon("Data/Images/Settings.png").getImage().getScaledInstance((program.logoPanel.getHeight()/4), (program.logoPanel.getHeight()/4), Image.SCALE_DEFAULT));
program.settingsLabel.setIcon(settingsIcon);
program.getContentPane().setBackground(Color.WHITE);
program.logoPanel.setBackground(Color.WHITE);
}
}
第二个:
public class XzibitWeb implements Runnable {
public String webPage = "http://www.example.com";
public static void main(String[] args) {
SwingUtilities.invokeLater(new XzibitWeb());
}
@Override
public void run() {
JFXPanel jfxPanel = new JFXPanel();
Platform.runLater(() -> {
WebView view = new WebView();
jfxPanel.setScene(new Scene(view, 1024, 400));
view.getEngine().load(webPage);
});
}
}
答案 0 :(得分:0)
我认为你正在努力做到这一点
https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/swing-fx-interoperability.htm
从你的代码中我认为你没有将jfxPanel添加到框架中。