用java写的个浏览器的原代码
下载后可以直接编译通过
这个浏览器现在还不支持css
/**
* @(#)WebBrowser.java
*
*
* @author
* @version 1.00 2007/4/28
*/
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.event.MouseListener;
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileView;
import java.io.*;
import java.net.*;
import java.util.*;
public class WebBrowser extends JFrame implements HyperlinkListener,ActionListener{
/**
* Creates a new instance of <code>WebBrowser</code>.
*/
//.......
//.........
//建立主件
JToolBar bar =new JToolBar();//工具栏
JTextField jurl=new JTextField(60);//地址栏
JTextField jurlSource=new JTextField(60);//地址栏
JEditorPane2 jEditorPane1=new JEditorPane2();//网页框
JScrollPane scrollPane=new JScrollPane(jEditorPane1);//滚动条
JFileChooser chooser=new JFileChooser();
JFileChooser chooser1=new JFileChooser();//选择文件
String htmlSource;
JWindow window=new JWindow(WebBrowser.this);//使用指定的所有者框架创建窗口
JButton button2=new JButton("go back");
Toolkit toolkit=Toolkit.getDefaultToolkit();//获取默认工具包
JMenuBar jMenuBar1=new JMenuBar();//建立菜单栏
JMenu fileMenu=new JMenu("File(F)");//建立菜单组
JMenuItem saveAsItem=new JMenuItem("save As(S)");
JMenuItem exitItem=new JMenuItem("exit(E)");
JMenu bookMarkMenu=new JMenu("bookMark(B)");//建立菜单组
JMenuItem saveBookMarkItem=new JMenuItem("save bookmark(K)");
JMenu editMenu=new JMenu("Edit(E)");//建立菜单组
JMenuItem backItem=new JMenuItem("Back(Z)");
JMenuItem forwardItem=new JMenuItem("Forward(P)");
JMenu viewMenu=new JMenu("View(V)");//建立菜单组
JMenuItem fullscreenItem=new JMenuItem("fullscreen(U)");
JMenuItem sourceItem=new JMenuItem("source(C)");
JMenuItem reloadItem=new JMenuItem("reload(R)");
JToolBar toolBar=new JToolBar();
JButton picSave=new JButton("save as");
JButton picBack=new JButton("back");
JButton picForward=new JButton("forward");
JButton picView=new JButton("source");
JButton picExit=new JButton("exit");
//建立工具栏
JLabel label=new JLabel("Adress");
JButton button=new JButton("GO");
JLabel labelSource=new JLabel("View Source");
JButton buttonSource=new JButton("View");
Box adress=Box.createHorizontalBox(); //创建一个从左到右显示其组件
Box adressSource=Box.createHorizontalBox();
private ArrayList history=new ArrayList();
private int historyIndex;
public WebBrowser() {
setTitle("network by liujia");
setResizable(false);//设置此 frame 是否可由用户调整大小
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jEditorPane1.addHyperlinkListener(this);//事件监听
bookMarkMenu.setMnemonic('B');
saveBookMarkItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_K,InputEvent.CTRL_MASK));
fileMenu.setMnemonic('F');
saveAsItem.setMnemonic('S');
saveAsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
exitItem.setMnemonic('P');
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));
//设置热键
fileMenu.add(saveAsItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
backItem.setMnemonic('B');
backItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
forwardItem.setMnemonic('D');
forwardItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
editMenu.setMnemonic('E');
editMenu.add(backItem);
editMenu.addSeparator();
editMenu.add(forwardItem);
viewMenu.setMnemonic('V');
fullscreenItem.setMnemonic('U');
fullscreenItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
sourceItem.setMnemonic('C');
sourceItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
reloadItem.setMnemonic('R');
reloadItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
Container contentPane=getContentPane();
scrollPane.setPreferredSize(new Dimension(100,500));
contentPane.add(scrollPane,BorderLayout.SOUTH);
adressSource.add(labelSource);
adressSource.add(jurlSource);
adressSource.add(buttonSource);
toolBar.add(picSave);
toolBar.addSeparator();
toolBar.add(picBack);
toolBar.addSeparator();
toolBar.add(picForward);
toolBar.addSeparator();
toolBar.add(picView);
toolBar.addSeparator();
toolBar.add(picExit);
toolBar.addSeparator();
toolBar.add(picExit);
toolBar.addSeparator();
toolBar.add(adressSource);
contentPane.add(bar,BorderLayout.CENTER);
contentPane.add(toolBar,BorderLayout.NORTH);
viewMenu.add(fullscreenItem);
viewMenu.addSeparator();
viewMenu.add(sourceItem);
viewMenu.addSeparator();
viewMenu.add(reloadItem);
bookMarkMenu.add(saveBookMarkItem);
jMenuBar1.add(fileMenu);
jMenuBar1.add(editMenu);
jMenuBar1.add(viewMenu);
jMenuBar1.add(bookMarkMenu);
setJMenuBar(jMenuBar1);
adress.add(label);
adress.add(jurl);
adress.add(button);
bar.add(adress);
saveAsItem.addActionListener(this);
picSave.addActionListener(this);
exitItem.addActionListener(this);
picExit.addActionListener(this);
backItem.addActionListener(this);
picBack.addActionListener(this);
forwardItem.addActionListener(this);
picForward.addActionListener(this);
fullscreenItem.addActionListener(this);
sourceItem.addActionListener(this);
picView.addActionListener(this);
reloadItem.addActionListener(this);
button.addActionListener(this);
buttonSource.addActionListener(this);
jurl.addActionListener(this);
jurlSource.addActionListener(this);
saveBookMarkItem.addActionListener(this);
}
//..................
//.....
public void actionPerformed(ActionEvent e)
{
String url="";
if(e.getSource()==button){ //按down.................................................
url=jurl.getText();
if(url.length()>0&&url.startsWith("http://")){
try{
jEditorPane1.setPage(url);
history.add(url);
historyIndex=history.size()-1;// 返回此列表中的元素数
jEditorPane1.setEditable(false);
jEditorPane1.revalidate();
}
catch(Exception ex){
JOptionPane.showMessageDialog(WebBrowser.this,"don't open the search page","network",JOptionPane.ERROR_MESSAGE);
}
}
else if(url.length()>0&&!url.startsWith("http://")){
url="http://"+url;
try{
jEditorPane1.setPage(url);
history.add(url);
historyIndex=history.size()-1;// 返回此列表中的元素数
jEditorPane1.setEditable(false);
jEditorPane1.revalidate();
}
catch(Exception ex){
JOptionPane.showMessageDialog(WebBrowser.this,"don't open the search page","network by liujia",JOptionPane.ERROR_MESSAGE);
}
}
else if(url.length()==0){
JOptionPane.showMessageDialog(WebBrowser.this,"don't open the search page","network by liujia",JOptionPane.ERROR_MESSA
没有合适的资源?快使用搜索试试~ 我知道了~
我收集到的java学习资料<已经更新>
共146个文件
docx:54个
doc:54个
txt:36个
5星 · 超过95%的资源 需积分: 9 72 下载量 17 浏览量
2008-06-21
12:11:08
上传
评论
收藏 1.35MB RAR 举报
温馨提示
同样是上次的JAVA学习资料,我把一些忘记加入的文件加进去了。还有就是害怕有很多人用的是office2003 所以我把word文件都转换为2003版的了。<br>希望这些资料对你会有所帮助。
资源推荐
资源详情
资源评论
收起资源包目录
我收集到的java学习资料<已经更新> (146个子文件)
用 JMX 作简单之 Java VM 监视.doc 86KB
Java技术与Java虚拟机.doc 86KB
java写的DOS系统改进版.doc 56KB
正则表达式之道.doc 54KB
有效防止Java程序源码被人偷窥.doc 51KB
JAVA 怎么使用正则表达式.doc 49KB
关于如何使用Java正则表达式对字符串分组操作的尝试.doc 47KB
JAVA读取WORD,EXCEL,POWERPOINT,PDF文件的方法.doc 45KB
java生成word,html文件并将内容保存至数据库.doc 43KB
JTextArea自动滚动.doc 42KB
如何使用Java中的Date和Calendar类.doc 42KB
SQL操作全集.doc 41KB
彻底明白 Java 语言中的IO系统.doc 39KB
一刻钟精通正则表达式.doc 39KB
正则表达式基础知识.doc 37KB
共享有限的资源.doc 37KB
简易聊天程序.doc 37KB
让你知道:java 文件的缩进排版.doc 37KB
在Java应用程序中监视CPU的使用.doc 36KB
小技巧:在Java中轻松实现界面跳转.doc 36KB
用Java实现MSN Messager的功能.doc 36KB
反应灵敏的用户界面.doc 36KB
Java中Static、this、super、final用法.doc 36KB
Java实现利用搜索引擎收集网址的程序.doc 36KB
将应用程序的设定存放在那里.doc 35KB
Java程序员:一刻钟精通正则表达式.doc 35KB
使用Java将Word转为Html或txt.doc 34KB
如何成为一名Java初级程序员.doc 34KB
要成为Java高手需要注意的25个学习目标 .doc 34KB
如何用Java得到硬盘空间.doc 33KB
为TextBox组件创建简单的剪贴板.doc 32KB
用 Java 创建带图像的菜单来美化界面.doc 32KB
java中一个简单的Thread缓冲池的实现.doc 32KB
修改ZipInputStream支持中文名文件解压.doc 32KB
利用Java实现网页浏览器.doc 32KB
如何在Java应用程序中实现copy图像功能.doc 31KB
实现目录删除,取得目录大小及深度.doc 31KB
用JAVA解压ZIP.doc 31KB
用 java 编写一个扫描仪程序.doc 31KB
[笔记]常用正则表达式.doc 31KB
JAVA调用DOS命令.doc 30KB
Java程序把Word文档直接换成Html文件.doc 30KB
巧用Java程序把Word转换成Html文件.doc 30KB
int char double与byte相互转换的程序.doc 30KB
如何在Java应用程序中播放声音文件.doc 30KB
Java调用com组件,调用word,完成doc到html的转换.doc 29KB
按照屏幕比例改变窗口大小.doc 29KB
利用java本地拷贝文件及文件夹.doc 29KB
Java语言中Timer类的简洁用法.doc 29KB
是否有必要将Java程序写成.exe文件.doc 28KB
如何将Java应用程序本地编译为EXE.doc 28KB
真正最正确的用BAT运行JAVA不显示DOS窗口.doc 28KB
用stec.sfc.Win32包实现开机和关机.doc 27KB
用Java获得IP地址.doc 27KB
Java技术与Java虚拟机.docx 74KB
用 JMX 作简单之 Java VM 监视.docx 73KB
有效防止Java程序源码被人偷窥.docx 28KB
正则表达式之道.docx 24KB
如何使用Java中的Date和Calendar类.docx 21KB
小技巧:在Java中轻松实现界面跳转.docx 19KB
SQL操作全集.docx 19KB
JAVA 怎么使用正则表达式.docx 19KB
彻底明白 Java 语言中的IO系统.docx 19KB
要成为Java高手需要注意的25个学习目标 .docx 18KB
反应灵敏的用户界面.docx 18KB
Java实现利用搜索引擎收集网址的程序.docx 18KB
Java中Static、this、super、final用法.docx 18KB
用Java实现MSN Messager的功能.docx 18KB
共享有限的资源.docx 18KB
正则表达式基础知识.docx 17KB
一刻钟精通正则表达式.docx 17KB
在Java应用程序中监视CPU的使用.docx 17KB
java中一个简单的Thread缓冲池的实现.docx 17KB
java写的DOS系统改进版.docx 17KB
将应用程序的设定存放在那里.docx 16KB
JTextArea自动滚动.docx 16KB
如何成为一名Java初级程序员.docx 16KB
简易聊天程序.docx 16KB
利用Java实现网页浏览器.docx 16KB
JAVA读取WORD,EXCEL,POWERPOINT,PDF文件的方法.docx 15KB
Java程序员:一刻钟精通正则表达式.docx 15KB
如何在Java应用程序中实现copy图像功能.docx 15KB
让你知道:java 文件的缩进排版.docx 15KB
如何用Java得到硬盘空间.docx 15KB
关于如何使用Java正则表达式对字符串分组操作的尝试.docx 15KB
实现目录删除,取得目录大小及深度.docx 14KB
修改ZipInputStream支持中文名文件解压.docx 14KB
用 Java 创建带图像的菜单来美化界面.docx 14KB
java生成word,html文件并将内容保存至数据库.docx 14KB
为TextBox组件创建简单的剪贴板.docx 14KB
如何在Java应用程序中播放声音文件.docx 14KB
是否有必要将Java程序写成.exe文件.docx 14KB
Java语言中Timer类的简洁用法.docx 14KB
用JAVA解压ZIP.docx 14KB
int char double与byte相互转换的程序.docx 13KB
用 java 编写一个扫描仪程序.docx 13KB
按照屏幕比例改变窗口大小.docx 13KB
如何将Java应用程序本地编译为EXE.docx 13KB
利用java本地拷贝文件及文件夹.docx 13KB
JAVA调用DOS命令.docx 13KB
共 146 条
- 1
- 2
资源评论
- 不再单纯loveru2014-05-13东西不错。不过不是我想找的。
xrt89
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功