`

java_swing_浏览器

    博客分类:
  • Java
 
阅读更多

java浏览器源代码1.0版
package com.danqing.www;
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
/**
 * @author 丹青
 *
 */
public class Browser extends JFrame {
 private static final long serialVersionUID = 1;
    //下拉列表
    private JComboBox _combobox;
    //页面滚动条
    private JScrollPane _scrollpane;
    //存放页面的容器
    private JEditorPane _editorpanel;
    //存放url的字符串
    private String _string;
    //超链接url
    private URL _url;
       Browser(){
        //调试代码
        System.out.println("browser test");
        //组件实例化
        _combobox = new JComboBox();
        _editorpanel = new JEditorPane();
        _string = new String();
        //给frame加上关闭按扭
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //初始大小
        this.setBounds(300,300,700,500);
        //定义布局管理器
        this.setLayout(new BorderLayout());
        //默认面板添加下拉列表框
        this.getContentPane().add(_combobox,BorderLayout.NORTH);
        //下拉列表设置为可以编辑
        _combobox.setEditable(true);
        //JEditorPane的滚动条
        _scrollpane = new JScrollPane(_editorpanel);
        //默认面板添加网页容器
        this.getContentPane().add(_scrollpane,BorderLayout.CENTER);
        //设置滚动条的行为方式
        _scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        _scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        //网页容器不可手动编辑
        _editorpanel.setEditable(false);
        //网页容器可见
        _editorpanel.setVisible(true);
        //_editorpanel.setContentType("text/html");
        //下拉列表键盘监听器
           _combobox.getEditor().getEditorComponent().addKeyListener(new KeyAdapter(){
         public void keyPressed(KeyEvent e){
          System.out.println("key enter");
          if(KeyEvent.VK_ENTER==e.getKeyCode()){
           _string = _combobox.getEditor().getItem().toString();
           System.out.println(_string);
           _url = gainURL(_string);
           if(null!=_url){
            System.out.println("url is not null");
            parseURL(_url);
           }
        }
         }
        });
        //this.pack();
        this.setVisible(true);
       }
       //获得链接url
       private URL gainURL(String str){
        URL _temp;
        try{
         _temp = new URL(_string);
        }catch(MalformedURLException e){
         e.printStackTrace();
         _temp = null;
        }
        return _temp;
       }
       //解析url并且显示在JEditorPane中
       private void parseURL(URL url){
        StringBuffer _buffer = new StringBuffer();
        try{
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openConnection().getInputStream()));
        String str;
        str = in.readLine();
        while(null!=str){
         //System.out.println("str is not null"+str);
         _buffer.append(str).append("\n");
         str = in.readLine();
        }
        _editorpanel.setContentType(url.openConnection().getContentType());
        System.out.println(url.openConnection().getContentType().toString());
        if(_buffer==null){
         System.out.println("buffer is null");
        }else{
         System.out.println("buffer is not null");
        }
        String temp = _buffer.toString();
        //setText只能显示<body> </body>之间的内容
        String _content = temp.substring(temp.indexOf("<body"),temp.lastIndexOf("body>")+5);
        _editorpanel.setText(_content);
        System.out.println("parseURL finish");
        }catch(IOException ex){
         ex.printStackTrace();
        }
       }
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Browser browser = new Browser();
 }
}
 
分享到:
评论

相关推荐

    一个简单的HTML浏览器.zip_applet_html 浏览器_java Applet_java 浏览器_swing

    Applet是Java的一个早期特性,允许在Web浏览器中运行小型的Java程序,而Swing则是Java GUI(图形用户界面)工具包,提供了丰富的组件来构建桌面应用程序。 描述中提到“Applet与Swing编写一个简单的HTML浏览器”,...

    myie.rar_MyIE_ie浏览器_java 浏览器_浏览器_浏览器 java

    【标题】"myie.rar_MyIE_ie浏览器_java 浏览器_浏览器_浏览器 java" 涉及的核心知识点是自定义浏览器开发,主要聚焦在IE浏览器的仿制以及使用Java语言实现。在这个项目中,作者尝试创建了一个名为MyIE的浏览器,其...

    java_picture.zip_JAVA 图片浏览_java swing picture_java 图片_java_pictu

    总的来说,这个Java项目是一个基于Swing的图片浏览器,具有在图片上绘制几何图形的功能。它展示了Java GUI编程的基本概念,如组件使用、事件处理和图形绘制,是学习Java图形界面开发的一个实例。通过阅读源代码和...

    Java_WebBrowser.rar_Java Web Browser_java webbrows_java 浏览器_web浏

    6. **用户界面设计**: 使用Java Swing或JavaFX创建浏览器的界面,包括地址栏、前进/后退按钮、刷新按钮等。Swing组件如JButton、JTextField等将被用到。 7. **网页解析**: 虽然JEditorPane能处理基本的HTML,但复杂...

    java_swing设计指南(CHM版本)

    7. **JApplet和Java Web Start**:虽然现在不常用,但Swing也支持在Web浏览器中运行的JApplet,以及通过Java Web Start技术来分发和启动应用程序。 8. **Swing小组件(JDBC,JSplitPane,JTabbedPane等)**:Swing...

    java技术教程(例子).rar_applet_java Applet_java swing_swing

    1. **Java Applet**:Applet是Java早期用于在Web浏览器中运行的小程序,它通过Java插件与HTML页面集成。Applet的生命周期包括初始化、加载、显示、暂停、停止和销毁六个阶段。虽然现代Web开发中Applet已较少使用,但...

    JAVA框架技术实验内容_HotJava浏览器_java_appletweb_

    Java框架技术实验内容_HotJava浏览器_java_appletweb_ 在Java的世界里,HotJava是一款具有里程碑意义的浏览器,由Sun Microsystems开发,它首次展示了Java语言在Web应用中的潜力。HotJava浏览器不仅是一个浏览HTML...

    java-swing-example.rar_JavaSwing_java swing_图形处理

    10. **JFrame和JApplet**:作为Swing应用的主容器,JFrame用于创建独立窗口应用,而JApplet则用于在浏览器中运行。 通过对这个压缩包的学习,开发者不仅可以掌握Swing的基本用法,还能了解到如何构建一个完整的图形...

    Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)

    这个压缩包文件“Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)”显然提供了一个实现这一功能的示例,主要涉及到的技术是DJnative-SWT和SWT。 DJnative-SWT 是一个开源项目,它的目标是将Java和...

    browser_浏览器_java_web_

    标题中的"browser_浏览器_java_web_"表明我们将探讨一个使用Java编程语言实现的基于Web的简单浏览器项目。这个项目旨在提供基本的浏览器功能,包括前进和后退操作,同时用户还可以自行编译Java服务器以支持网页的...

    跟我学Java_Swing之游戏设计

    ### Java Swing游戏设计知识点详解 #### 一、Java Swing简介及与AWT的区别 Java Swing 是 Java 中用于创建图形用户界面 (GUI) 的一个库,它提供了丰富的组件和功能,帮助开发者构建美观且功能强大的应用程序。...

    FTPserver_swing_java_ideajava开发ftp_ftp_Server_

    在本项目中,由于使用了Swing,可能还包含了自定义的图形界面组件,如登录窗口、文件浏览器、命令行输入框等,以便用户直接在应用内进行FTP操作。 IDEA是JetBrains公司开发的一款强大的Java集成开发环境...

    java浏览器+swing嵌套网页+源码免费

    Swing中的Java浏览器通常通过Java的`javax.swing.JEditorPane`或`javax.swing.JWebPane`类实现。这些组件可以加载和显示HTML内容,甚至支持一些基本的JavaScript交互。然而,对于更复杂、现代的网页(如基于HTML5和...

    Java Swing实现仿Chrome浏览器跳跳龙小游戏.zip

    Java Swing实现仿Chrome浏览器跳跳龙小游戏 Java Swing实现仿Chrome浏览器跳跳龙小游戏 Java Swing实现仿Chrome浏览器跳跳龙小游戏 Java Swing实现仿Chrome浏览器跳跳龙小游戏 Java Swing实现仿Chrome浏览器跳跳龙小...

    web_浏览器_java_

    2. **Swing或JavaFX**:Java提供了Swing和JavaFX两个GUI(图形用户界面)工具包来创建桌面应用,如本项目的Web浏览器。Swing是较老但兼容性好的选择,而JavaFX则提供了更现代、更丰富的UI组件和特效。 3. **URL类**...

    jxb6.14_java_google浏览器_

    Java调用Google浏览器的技术主要基于一个名为JXBrowser的库,该库允许开发者在Java应用程序中集成Chromium浏览器引擎。JXBrowser是一个功能强大的组件,它使得Java开发者能够创建具有现代Web浏览功能的应用程序,...

    java swing 内嵌浏览器

    总之,Java Swing内嵌浏览器通过第三方库如DJNativeSwing-SWT,可以方便地在Java桌面应用中嵌入一个功能完备且与操作系统紧密集成的浏览器,这极大地扩展了Java Swing应用的功能和交互可能性。在实际开发中,理解和...

    纯java编写_Swing_AWT

    JApplet则用于在Web浏览器中展示Java小程序。 6. ** Nimbus Look and Feel**:Swing提供了多种外观和感觉(LookAndFeel),Nimbus是Swing的默认LookAndFeel,可以让你的应用程序具有统一的现代风格。 7. **...

    Java_Clock.rar_Clock.Java_clock java_java漂亮界面_时钟 java_时钟,Applet

    Applet是Java的一种小程序,它可以在支持Java的Web浏览器中运行。通过使用Applet,开发者可以创建交互式的网页元素,比如我们的时钟。然而,随着技术的发展,Applet已经逐渐被其他技术如JavaFX和HTML5的Canvas取代,...

    Java Swing做的图片浏览器

    在这个特定的案例中,"Java Swing做的图片浏览器"是一个利用Java Swing开发的应用程序,主要用于查看图片。这个小巧的程序只有几百KB,具有保存浏览历史的功能,允许用户在已浏览过的图片之间方便地切换,通过点击...

Global site tag (gtag.js) - Google Analytics