如何嵌入url
尝试了很多方式,有jdic,webBrowser都不太行,可能有的是因为开发环境欠缺一些条件,最后使用了JXPanel嵌入网页url的方式,成功了。
需要的条件
jar包 :jdk1.8或以上即可,不用额外的导入jar包。
逻辑如下:
- 创建窗体frame
- 创建panel
- panel中嵌入JxPanel
- jxPanel里嵌入你需要的网页url
代码 ↓ :
mport javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javax.swing.*;
public class AccountManagement {
private JPanel panel1;
public AccountManagement(){
String address="http://localhost:9877/awebUrl";
JFXPanel jfxPanel=new JFXPanel();
panel1.add(jfxPanel);
Platform.runLater(new Runnable() {
@Override
public void run() {
WebView webView =new WebView();
jfxPanel.setScene(new Scene(webView));
webView.getEngine().load(address);
}
});
}
public static void main(String[] args){
JFrame frame = new JFrame("AccountManagement");
frame.setContentPane(new AccountManagement().panel1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(850, 650);
//frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
//frame.setLocationByPlatform(true);
frame.setVisible(true);
}
}
实现的效果:
(蓝色页面是嵌入其他模块关于登录的网页)
其他小知识
frame设置窗体为最大
frame.setExtendedState(JFrame.MAXIMIZED_BOTH)
JLabel中添加图片
imageLabel.setIcon(new ImageIcon("/home/lh346346/project/eat3/src/main/java/EA3/UI/ge.png"));
imageLabel.setText("");
panel1.add(imageLabel);