想用Java做一个小软件,将web页面嵌入软件面板中,该如何实现? 也就是想在软件像浏览器一样展示html源码或者某一URL的网页页面?有什么第三方包可以使用吗?
解决方案 »
- 一个线程问题求解
- 分享Java面试中遇到的一些经典算法题目
- =========象ie7这样的多tab浏览器中,怎样判断tab,是关闭还是刷新,急!=========
- java最常用是哪几个包
- 想请教一下构造器为私有的情况下的一个问题。
- 請問:點擊按鈕后,彈出一個提示的對話框,怎麽寫啊?
- 高分求救!!主窗体如何传递一个值给子窗体(在线)
- Properties类的中文问题,请高手回答,高分送上
- 有没有过来人谈谈SL-275考试?
- java初学者的一个小问题,望帮忙解决!给分!!!
- Point a; system.out.println(a). 为什么能自动调用toString()方法。
- 学习C#最好用什么编程环境?
可以实现html的展示,支持HTML 3.2
extends JDialog
implements HyperlinkListener {
JScrollPane ScrollPane = new JScrollPane();
JEditorPane HelpPane = new JEditorPane();
Border border1;
JPanel Panel1 = new JPanel();
JButton Close = new JButton();
Border border2; public HelpDialog(JFrame frame) throws HeadlessException {
super(frame, true);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation( (int) (screenSize.width - 420) / 2,
(int) (screenSize.height - 360) / 2);
this.setResizable(false);
} private void jbInit() throws Exception {
border2 = BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.lightGray,1),BorderFactory.createEmptyBorder(2,10,2,10));
this.setSize(new Dimension(420, 360));
this.setTitle("Help");
border1 = BorderFactory.createEmptyBorder(); URLClassLoader urlLoader = (URLClassLoader)this.getClass().getClassLoader();
URL url = null;
url = urlLoader.findResource("doc/help.htm");
HelpPane.setPage(url);
HelpPane.setEditable(false);
HelpPane.addHyperlinkListener(this);
ScrollPane.setHorizontalScrollBarPolicy(JScrollPane.
HORIZONTAL_SCROLLBAR_NEVER);
ScrollPane.setVerticalScrollBarPolicy(JScrollPane.
VERTICAL_SCROLLBAR_AS_NEEDED);
ScrollPane.setBorder(border1);
Close.setBackground(Color.white);
Close.setBorder(border2);
Close.setActionCommand("jButton1");
Close.setText("Close");
Close.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
}
}); Panel1.setBackground(Color.white);
this.getContentPane().add(ScrollPane, BorderLayout.CENTER);
this.getContentPane().add(Panel1, BorderLayout.SOUTH);
ScrollPane.getViewport().add(HelpPane, null);
Panel1.add(Close, null);
} public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane pane = (JEditorPane) e.getSource();
if (e instanceof HTMLFrameHyperlinkEvent) {
HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent) e;
HTMLDocument doc = (HTMLDocument) pane.getDocument();
doc.processHTMLFrameHyperlinkEvent(evt);
}
else {
try {
pane.setPage(e.getURL());
}
catch (Throwable t) {
t.printStackTrace();
}
}
}
}}
参考页面和演示demo都有
https://jdic.dev.java.net/