在另一个文件的Jpanel中添加Java文件

时间:2016-05-08 23:47:55

标签: java swing import jframe jpanel

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

1 个答案:

答案 0 :(得分:0)

我认为你正在努力做到这一点

https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/swing-fx-interoperability.htm

从你的代码中我认为你没有将jfxPanel添加到框架中。