java swing怎么嵌入js

 我来答
明槐宸739
2016-04-11 · TA获得超过1045个赞
知道大有可为答主
回答量:1507
采纳率:92%
帮助的人:472万
展开全部
import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserCommandEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserListener;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserNavigationEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserWindowOpeningEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserWindowWillOpenEvent;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import com.mohe.utils.system.L;
/**
* 主窗体
*
* @author dxm
*
*/
public class MainFrame extends JFrame {

private static final long serialVersionUID = -6348199501339114346L;

// 最后操作时间
public long lastTime = new Date().getTime();

// 浏览器窗体
private JWebBrowser webBrowser = null;
private JLabel lbl = null;
private JPanel panel = null;

public int pageFlag = 1;

/**
* 构造器
*/
public MainFrame() {
initData();
initGUI();
addListance();
}

private void initData() {

Toolkit toolkit = Toolkit.getDefaultToolkit();

this.setUndecorated(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600, 500);
this.setLocationRelativeTo(null);
this.setSize(toolkit.getScreenSize());
this.setLocation(0, 0);

webBrowser = new JWebBrowser();
webBrowser.navigate(Config.local + Config.index);
webBrowser.setBarsVisible(false);
webBrowser.setMenuBarVisible(false);
webBrowser.setLocationBarVisible(false);
webBrowser.setButtonBarVisible(false);
webBrowser.setStatusBarVisible(false);

ImageIcon icon = new ImageIcon(System.getProperty("user.dir") + "\\城市.gif");
File img = new File(System.getProperty("user.dir") + "\\" + Config.img);
if (img.exists()) {
icon = new ImageIcon(img.getAbsolutePath());
}
lbl = new JLabel(icon);

panel = new JPanel(new BorderLayout());
}

private void initGUI() {
panel.add(webBrowser, BorderLayout.CENTER);
this.setContentPane(panel);
}

private void addListance() {

webBrowser.addWebBrowserListener(new WebBrowserListener() {

@Override
public void windowWillOpen(WebBrowserWindowWillOpenEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ windowWillOpen");
}

@Override
public void windowOpening(WebBrowserWindowOpeningEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ windowOpening");
}

@Override
public void windowClosing(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ windowClosing");
}

@Override
public void titleChanged(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ titleChanged");
}

@Override
public void statusChanged(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ statusChanged");
}

@Override
public void locationChanging(WebBrowserNavigationEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ locationChanging");
}

@Override
public void locationChanged(WebBrowserNavigationEvent arg0) {

lastTime = new Date().getTime();
L.info("___________ locationChanged");

// 判断当前页面等级
String locationURL = arg0.getNewResourceLocation();
int index = locationURL.indexOf("pageFlag=");
if (index != -1) {
pageFlag = Integer.parseInt(locationURL.substring(index + 9, index + 10));
} else {
pageFlag = 1;
}
System.out.println("____________________ pageFlag:" + pageFlag);

// 判断下载文件进行打印
index = locationURL.indexOf("fileName=");
System.out.println("____________________ file Index:" + index);

if (index != -1) {

String fs = locationURL.substring(index + 9);
L.info("______________________ fileName = " + fs);
String[] fns = fs.split(",");
try {
List<File> flist = downNetFile(Arrays.asList(fns));
doPrintDoc(flist);
} catch (IOException e) {
e.printStackTrace();
}
}

SwingUtilities.invokeLater(new Runnable() {
public void run() {
webBrowser.setVisible(false);
webBrowser.setVisible(true);
webBrowser.updateUI();
webBrowser.repaint();
panel.updateUI();
panel.repaint();
panel.validate();
}
});

}
@Override
public void locationChangeCanceled(WebBrowserNavigationEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ locationChangeCanceled");
}
@Override
public void loadingProgressChanged(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ loadingProgressChanged");
}
@Override
public void commandReceived(WebBrowserCommandEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ commandReceived");
}
});
lbl.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
}

@Override
public void mousePressed(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent arg0) {
}

@Override
public void mouseClicked(MouseEvent arg0) {
change(2);
}
});

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式