Java-JFrame-swing嵌套浏览器步骤
一、使用swing嵌套浏览器要实现的功能:
通过java的swing实现在一个窗体中嵌套一个浏览器,可以在这个浏览器中将另一个项目的内容显示出来,只需要回去另一个项目首页的url即可,这样另一个项目就可以在swing嵌套的浏览器中进行正常的显示了;
二、下面的浏览器工具类中的方法在使用的时候,只需要从另一个项目的服务端获取另一个项目的首页stirng类型的url地址和浏览器左上角要显示的string类型的标题两个参数即可,参数只有url和title两个;
(1)主要步骤:
1、通过以下java代码实现创建浏览器;
2、创建JFrame窗体,对窗体进行基本的设置;
3、设置浏览器显示的定位尺寸,并将浏览器添加到JFrame窗体中去:
非常注意:将浏览器添加到窗体的java代码一定在将浏览器顶部工具栏背景图片添加到窗体的java代码之后,否则浏览器内容显示不出来;
4、设置浏览器顶部工具栏的左侧图标;
5、设置浏览器顶部工具栏的左侧标题文字;
6、设置浏览器顶部工具栏右侧最小化、最大化、关闭等图片以及鼠标的各种事件;
7、为窗体添加一个事件:当窗体的尺寸发生变化时,就会执行方法体中的Java代码;因为窗体的大小是可以变化的;
8、非常重要的是:浏览器工具类中一定要下面的一行代码注释掉,否则其他窗体调用此窗体时,不会弹出此窗体;
// 必须将下行代码注释掉,否则不能够跳转到此窗体
// NativeInterface.runEventPump();
(2)浏览器的工具类全部代码如下:
package com;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.SwingUtilities;
import com.listener.XZWebBrowserListener;
import com.util.ScreenSize;
import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
/**
* CS包浏览器,首先访问的是项目首页
*
* @author admin
*
*/
public class EagleBrowser1 extends JPanel {
private static final long serialVersionUID = 1L;
private JPanel webBrowserPanel;
private JWebBrowser webBrowser;
private JFrame frame;
private Double browserWidth;// 窗体宽度
private Double browserHeight;//窗体高度
public EagleBrowser1() {
}
// 构造方法,传递url和title可创建CS包容浏览器窗体
public EagleBrowser1(String url, String title) {
/**
* 创建浏览器
*/
webBrowserPanel = new JPanel(new BorderLayout());
webBrowser = new JWebBrowser();
webBrowser.navigate(url);
webBrowser.setButtonBarVisible(false);
webBrowser.setMenuBarVisible(false);
webBrowser.setBarsVisible(false);
webBrowser.setStatusBarVisible(false);
webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
XZWebBrowserListener listener = new XZWebBrowserListener();
webBrowser.addWebBrowserListener(listener );
//add(webBrowserPanel, BorderLayout.CENTER);
// webBrowser.executeJavascript("javascrpit:window.location.href='http://www.baidu.com'");
// webBrowser.executeJavascript("alert('haha')"); //执行Js代码
UIUtils.