Swing 简单的WEB浏览器

import java.io.IOException;

import javax.swing.JEditorPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;

/**
 * 处理超链接
 * @author Vic
 *
 */
public class LinkFollower implements HyperlinkListener{

	private JEditorPane pane;
	
	public LinkFollower(JEditorPane pane){
		this.pane = pane;
	}
	
	public void hyperlinkUpdate(HyperlinkEvent evt) {
		if(evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
			try {
				pane.setPage(evt.getURL());
			} catch (IOException e) {
				pane.setText("<html>could not load "+evt.getURL()+"</html>");
			}
		}
	}

}

import java.awt.EventQueue;
import java.awt.Frame;
import java.io.IOException;

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.WindowConstants;

/**
 * 简单的Web浏览器
 * @author Vic
 *
 */
public class SimpleWebBrowser {
	public static void main(String[] args) {
		String initialPage = "http://www.cafeaulait.org/";
		
		JEditorPane jep = new JEditorPane();
		jep.setEditable(false);
		jep.addHyperlinkListener(new LinkFollower(jep));
		
		try {
			jep.setPage(initialPage);
		} catch (IOException e) {
			System.err.println("Usage: java simpleWebBrowser url");
			System.err.println(e);
			System.exit(1);
		}
		
		JScrollPane scrollPane = new JScrollPane(jep);
		JFrame f = new JFrame("Simple Web Browser");
		f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		f.setContentPane(scrollPane);
		f.setSize(512,342);
		
		EventQueue.invokeLater(new FrameShower(f));
	}
	
	private static class FrameShower implements Runnable{

		private final Frame frame ;
		public FrameShower(Frame frame){
			this.frame = frame;
		}
		public void run() {
			frame.setVisible(true);
		}
		
	}
}


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值