文档章节

Java实现简单的网页浏览器

闻术苑
 闻术苑
发布于 2012/11/25 23:32
字数 288
阅读 372
收藏 6

两段代码,实现简单的网页加载器,比较粗糙,大神勿喷~

(注释还没有加完,今晚早休息了,明天补上:-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!");
		}		
	}	
}

 

© 著作权归作者所有

共有 人打赏支持
闻术苑
粉丝 59
博文 145
码字总数 60145
作品 0
济南
产品经理
如何以Java实现网页截图技术

今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答。 事实上,如果您想以Java实现网页截图,也就是“输入一段网址,几...

Carl_
2015/03/03
0
7
在Android上实现Java和Js交互

其实webview加载资源的速度并不慢,但是如果资源多了,当然就很慢。图片、 css 、 js 、 html 这些资源每个大概需要 10-200ms ,一般都是 30ms 就 ok 了。不过webview是必须等到全部资源都完...

zhiweiofli
2013/06/20
0
0
Apache Zeppelin连接Oracle数据库

本文介绍Apache Zeppelin网页笔记本如何创建配置jdbc解释器,连接Oracle数据库,进行SQL开发,实现数据可视化。 简单来说,步骤如下: 下载ojdbc8.jar 创建新jdbc解释器 配置jdbc参数 测试新...

wffger
07/03
0
0
Java常见问题集锦(来自Sun中国官方站)

发表日期:2003年11月28日 已经有91位读者读过此文 原文链接:http://blog.csdn.net/jaminwm/article/details/90376

晨曦之光
2012/03/09
0
0
1.1 java语言的发展简史

java语言的诞生具有一定的戏剧性,它并不是经过精心策划、制作,最后产生的划时代产品,从某个角度耐看,java语言的诞生完全是一种误会。 1900年年末,Sun公司预料嵌入式系统将在未来家用电器...

Gooiem
2015/08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android JNI 开发系列(九)JNI调用Java的静态方法&实例方法

JNI调用Java的静态方法&实例方法 package org.professor.jni.bean;import android.util.Log;/** * Created by peng on 2018/10/11. */ public class Person { /*C/CPP 调用......

蔡小鹏
28分钟前
3
0
Flink 原理与实现:Window 机制

Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink 提供了非常完...

xtof
30分钟前
1
0
Fabric.js高级点的教程2--添加表格的方法

有时候我们先在画布上画一个表格类似一下设计软件那种。一方面作为参考线,一方面给人一直专业的赶脚。。。 先贴上一段网上(不是我写的)可以运行的代码 https://codepen.io/rodan8888/pen/e...

xmqywx
31分钟前
1
0
Java中Lambda表达式的使用

Java中Lambda表达式的使用 简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人...

DemonsI
34分钟前
2
0
深入理解Java中停止线程

一.停止线程会带来什么? 对于单线程中,停止单线程就是直接使用关键字return或者break,但是在停止多线程时是让线程在完成任务前去开启另外一条线程,必须放弃当前任务,而这个过程是不可预...

Ala6
43分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部