import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.*;//html浏览器
//Download by http://www.codefans.net
public class HTTPBrowserDemo extends JFrame{
JTextField jtfAddress; //输入html文件地址或网址
JButton jbGo; //转到文件按钮
JTextPane jtpShow; //显示文件
JLabel jlInfo; //提示信息 public HTTPBrowserDemo(){
super("html浏览器"); //调用父类构造函数
jtfAddress=new JTextField(20); //实例化地址输入框
jbGo=new JButton("转到"); //实例化转向按钮
jtpShow=new JTextPane(); //实例化显示内容框
jlInfo=new JLabel(); //实例化信息提示标签
JPanel panel=new JPanel(); //实例化面板
panel.add(new JLabel("地址")); //增加组件到面板上
panel.add(jtfAddress);
panel.add(jbGo);
JScrollPane jsp=new JScrollPane(jtpShow); //实例化滚动窗体
Container container=getContentPane(); //得到容器
container.add(panel,BorderLayout.NORTH); //增加组件到容器上
container.add(jsp,BorderLayout.CENTER);
container.add(jlInfo,BorderLayout.SOUTH);
jbGo.addActionListener(new ShowHTMLListener()); //事件处理,发生按钮点击时显示页面内容
jtfAddress.addActionListener(new ShowHTMLListener());
setSize(350,280); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
class ShowHTMLListener implements ActionListener { //显示页面内容事件处理
public void actionPerformed(ActionEvent event) {
try{
jlInfo.setText("正在连接..."); //显示提示信息
URL address=new URL(jtfAddress.getText()); //得到HTML页面的URL地址
jtpShow.setPage(address); //设置显示页面
jlInfo.setText("完成");
}
catch (Exception ex){
jlInfo.setText("连接出错");
ex.printStackTrace(); //输出出错信息
}
}
}
public static void main(String[] args){
new HTTPBrowserDemo();
}
}
这是一个模拟浏览器的程序,我在运行了这段程序之后,输入了百度的网址发现,网页的内容显示在了窗口之中。但是网页是一段html的代码,这个页面怎么会展示出来呢?我也没有看到发出http请求的代码,我打印了address(也就是那个最后设置在文本框里的内容),发现只是一个url,非常的疑惑,请大家帮忙解惑下,不胜感激java浏览器URL
import java.awt.event.*;
import java.net.URL;
import javax.swing.*;//html浏览器
//Download by http://www.codefans.net
public class HTTPBrowserDemo extends JFrame{
JTextField jtfAddress; //输入html文件地址或网址
JButton jbGo; //转到文件按钮
JTextPane jtpShow; //显示文件
JLabel jlInfo; //提示信息 public HTTPBrowserDemo(){
super("html浏览器"); //调用父类构造函数
jtfAddress=new JTextField(20); //实例化地址输入框
jbGo=new JButton("转到"); //实例化转向按钮
jtpShow=new JTextPane(); //实例化显示内容框
jlInfo=new JLabel(); //实例化信息提示标签
JPanel panel=new JPanel(); //实例化面板
panel.add(new JLabel("地址")); //增加组件到面板上
panel.add(jtfAddress);
panel.add(jbGo);
JScrollPane jsp=new JScrollPane(jtpShow); //实例化滚动窗体
Container container=getContentPane(); //得到容器
container.add(panel,BorderLayout.NORTH); //增加组件到容器上
container.add(jsp,BorderLayout.CENTER);
container.add(jlInfo,BorderLayout.SOUTH);
jbGo.addActionListener(new ShowHTMLListener()); //事件处理,发生按钮点击时显示页面内容
jtfAddress.addActionListener(new ShowHTMLListener());
setSize(350,280); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
class ShowHTMLListener implements ActionListener { //显示页面内容事件处理
public void actionPerformed(ActionEvent event) {
try{
jlInfo.setText("正在连接..."); //显示提示信息
URL address=new URL(jtfAddress.getText()); //得到HTML页面的URL地址
jtpShow.setPage(address); //设置显示页面
jlInfo.setText("完成");
}
catch (Exception ex){
jlInfo.setText("连接出错");
ex.printStackTrace(); //输出出错信息
}
}
}
public static void main(String[] args){
new HTTPBrowserDemo();
}
}
这是一个模拟浏览器的程序,我在运行了这段程序之后,输入了百度的网址发现,网页的内容显示在了窗口之中。但是网页是一段html的代码,这个页面怎么会展示出来呢?我也没有看到发出http请求的代码,我打印了address(也就是那个最后设置在文本框里的内容),发现只是一个url,非常的疑惑,请大家帮忙解惑下,不胜感激java浏览器URL
解决方案 »
- 我在做一些http相关的程序,但是不知道为什么,当运行到getInputStream函数时,程序就中止了
- Java的思路是什么,真的感觉很迷茫。。
- eclipse 我找不到这个菜单
- 谁来帮我讲解一下这道题~~~谢谢
- 求dozer
- 有一道线程问题想不通,望大家指点下
- 类继承的问题。。。。 看不懂源码,求教。
- 高分,求java application 应用程序原代码(初学参考)
- 为什么使用了JAI的类不能运行在applet上来显示tiff图片呢?
- 这个要求值50分吗?
- 咨询点概念问题,不知道该怎么入手查?程序关闭,和界面关闭,和线程退出
- 求CSDN高手点拨一个“CS结构聊天系统”的“集成测试”中的问题...
很显然这个函数给你做了