背景:
最近团队里需要做一个Java的桌面程序,然后就开始了
过程:
了解到可以使用JFormDesigner插件才操作,这里我的环境是IDEA
总结:
完成了浏览器的加载,完整信息下载,插件
链接:https://pan.baidu.com/s/1cgiPhi4QbXlJtfQLRdDnwg
提取码:fv23
1.加入插件
2.增加jxbrowser的jar包
3.代码
package JForm; import java.awt.BorderLayout; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigInteger; import javax.swing.JFrame; import com.teamdev.jxbrowser.chromium.Browser; import com.teamdev.jxbrowser.chromium.ba; import com.teamdev.jxbrowser.chromium.swing.BrowserView; public class ChromeBrower { static { try { Field e = ba.class.getDeclaredField("e"); e.setAccessible(true); Field f = ba.class.getDeclaredField("f"); f.setAccessible(true); Field modifersField = Field.class.getDeclaredField("modifiers"); modifersField.setAccessible(true); modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL); modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL); e.set(null, new BigInteger("1")); f.set(null, new BigInteger("1")); modifersField.setAccessible(false); } catch (Exception e1) { e1.printStackTrace(); } } public static void main(String[] args) { final String url = "https://baidu.com/"; final String title = "百度"; Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame(); frame.setSize(400, 600); frame.add(view, BorderLayout.CENTER); frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setLocationByPlatform(true); frame.setVisible(true); browser.loadURL(url); } }
4.如果使用JForm窗的控件包含Jxbrowser,需要使用到 JScrollPane 控件进行包裹
Browser browser = new Browser();
BrowserView view = new BrowserView(browser);
spnWebBrowser.setViewportView(view);
browser.loadURL("www.baidu.com");
有问题可以留言?