两段代码,实现简单的网页加载器,比较粗糙,大神勿喷~
(注释还没有加完,今晚早休息了,明天补上:-D)
import javax.swing.JFrame;
/*
* 主方法仅用来创建对象
*/
public class ReadWebMain {
public static void main(String[] args){
ReadWeb file = new ReadWeb();
file.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
/*
* 这个类用来实现浏览器里面几个主要的功能与生成界面
*/
public class ReadWeb extends JFrame{//继承自框架类
private JTextField addressBar;//声明一个地址栏,私有属性
private JEditorPane view;//声明一块显示区域
public ReadWeb(){
super("简单的网页显示");//框架的标题栏内容
addressBar = new JTextField("http://");//地址栏加入开头文本
addressBar.addActionListener(//添加监听器
new ActionListener(){
public void actionPerformed(ActionEvent event){
//当系统监听到地址栏的动作时,做出下面的反应(loadWeb方法)
loadWeb(event.getActionCommand());
}
});
add(addressBar, BorderLayout.NORTH);//将地址栏加到面板的框架的北部
view = new JEditorPane();
view.setEditable(false);
view.addHyperlinkListener(
new HyperlinkListener(){
public void hyperlinkUpdate(HyperlinkEvent event){
if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED){
loadWeb(event.getURL().toString());
}
}
});
add(new JScrollPane(view),BorderLayout.CENTER);
setSize(500,300);
setVisible(true);
}
private void loadWeb(String userText){
try {
view.setPage(userText);
addressBar.setText(userText);
} catch (IOException e) {
System.out.println("Invalid URL!");
}
}
}