直接上代码.
package xxxxxx;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import com.teamdev.jxbrowser.browser.Browser;
import com.teamdev.jxbrowser.browser.callback.OpenPopupCallback;
import com.teamdev.jxbrowser.browser.callback.OpenPopupCallback.Response;
import com.teamdev.jxbrowser.engine.Engine;
import com.teamdev.jxbrowser.engine.EngineOptions;
import com.teamdev.jxbrowser.engine.RenderingMode;
import com.teamdev.jxbrowser.navigation.event.FrameLoadFinished;
import com.teamdev.jxbrowser.navigation.event.NavigationFinished;
import com.teamdev.jxbrowser.view.swing.BrowserView;
public class Browser7x {
private static Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
public static void main(String[] args) {
Engine engine = Engine.newInstance(
EngineOptions.newBuilder(RenderingMode.HARDWARE_ACCELERATED).
licenseKey("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx").build());
Browser browser = engine.newBrowser();
browser.set(OpenPopupCallback.class, params -> {
SwingUtilities.invokeLater(() -> {
Browser popup = params.popupBrowser();
BrowserView newView = BrowserView.newInstance(popup);
popup.navigation().on(FrameLoadFinished.class, event -> {
String url = (event.frame().browser()).url();
System.out.println("新窗口打开: " + url);
});
JFrame newFrame = new JFrame();
newFrame.setSize(800, 600);
newFrame.setLocationRelativeTo(null);
newFrame.getContentPane().add(newView, BorderLayout.CENTER);
newFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
popup.close();
newFrame.dispose();
}
});
newFrame.setVisible(true);
});
return Response.proceed();
});
browser.navigation().on(NavigationFinished.class, event -> {
String url = (event.frame().browser()).url();
System.out.println("Navigation finished: " + url);
});
BrowserView view = BrowserView.newInstance(browser);
JScrollPane scrollPane = new JScrollPane(view);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.setOpaque(false);
scrollPane.getViewport().setOpaque(false);
scrollPane.setBorder(null);
JFrame jf = new JFrame();
jf.getContentPane().add(scrollPane);
jf.setSize(screenSize.width, screenSize.height);
jf.setUndecorated(true);
jf.setResizable(false);
jf.setVisible(true);
browser.navigation().loadUrl("www.baidu.com");
}
}