`
lijiaji_hy
  • 浏览: 8610 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

NetBeans平台主导swing,实例项目:多资源下载平台

阅读更多

1.      背景(Background)

虽然工作是从事WEB应用程序开发已经多年,但也不会太关注于底层的网络协议,一年前把网络协议HTTPFTP规范粗略的看了一遍,就用Socket基于这两种协议写了一个多线程下载组件,后来又用Swing为之开发了界面,但基于Swing功底太差了,开发出来的东西怎么看都觉得别扭,最后发现NETBEANS平台是个不错的开发桌面应用程序框架,提供容器管理我们的桌面应用程序,这正如我们开发WEB应用程序一样,于是发时间研究了一下,经历了无数个夜晚的煎熬,终于成功的将前台移到NETBEANS平台上,在这里发出来给大家分享一下。

2.      目的(Objective)

Windows平台下面,迅雷可谓是一手遮天,凭借着卓越的下载速度几乎挤兑所有的下载工具,而它并未提供Linux版,当初玩Linux常为此苦恼,这也是开发此下载工具的动力。当然,在单资源的情况下多线程的情况下,提现不出太大的优势,项目的目的是能在某一范围提供优越的下载速度,以得到推广,而不是走马观花,后继考虑实现BT多资源多线程下载,成为项目的亮点,以便推广。

3.      项目范围(Project Range)

软件暂时实了HTP,FTP多线程下载功能,其操作方式与迅雷类似。软件分为两个部分,JDownloaderJDownload Component, JDownlaoder是利用NetBeans平台所开发的UI,可以无障碍的进行功能添加,JDownlaod Component作为下载组件,可提供可扩展的多线程下载服务。本软件在1.6版本的JDK上开发,要求1.6以上的java运行环境。

 

 

下载组件所具备的持点

 

1)         作为组件实现通用下载功能,提供方便可展的API给应用程序使用。使得应用程序能够方便的管理下载生命周期,并能轻松加入自己扩展的功能到其中。

2)         具有记忆功能,当下载出现异常被迫停止或用户触发停止时,要求记录完成的数据范围,当第二次下载时,接着上次记录的数据范围继续下载

3)         具有自动管理下载线程功能,当某个线重提前完成自己的下载的数据范围后将分当下载最慢的线程的数据范围;同样,当个别线程网络通讯,磁盘 I/O 上上发生导常而被中断时,它将会再一次被唤醒。

4)         良好的异常处理,确保下载的完整性。

5)         提供良好可扩展性。新的协议被采用后,能轻松的增加对协议的支持。

6)         支持多个线程、多资源下载,当然,下载资源是可贵的,这里所说的支持多资源下载指的是组件需要为多资源平台提供扩展。

 

 

项目地址

http://code.google.com/p/jdownload/

 

 

 

 

  • 大小: 111.6 KB
  • 大小: 120.4 KB
分享到:
评论
20 楼 it1788 2010-12-31  
非常不错,膜拜楼主ing...    比神只矮了5cm


弱弱的问一下,我怎么没找到源码、文档说明呢?
19 楼 lijiaji_hy 2010-12-28  
kbyst 写道
感谢楼主分享
问个问题  为什么svn上check不下来呢?

could not connect to server (http://jdownload.googlecode.com)


不代码暂时还没有到SVN,用习惯了CVS,SVN还没去弄
18 楼 hantsy 2010-12-28  
lijiaji_hy 写道
将代码与表示层完全分开这个好像是个理想化的东西,很多都有尝试,除浏览器外(得益于js强大的支持),没有一个成功过。这里所说文档少是指关于Netbean官方提供平台的开发文档。NetBean的扩张性是没得说的,真如管方所说的那样,Netbeans就如同web容器那样管理着你的应用程序,甚至可用它开发命定行程序



官方文档涉及到 NetBeans Platform 的各个方面,只是比较基础。
官方NetBeans Platform文档:http://netbeans.org/kb/trails/platform.html
Developer FAQ http://wiki.netbeans.org/NetBeansDeveloperFAQ
17 楼 middin 2010-12-28  
真是个好工具,
不知道这个工具是不是也支持windows系统了
16 楼 kbyst 2010-12-27  
感谢楼主分享
问个问题  为什么svn上check不下来呢?

could not connect to server (http://jdownload.googlecode.com)
15 楼 itlangqun 2010-12-27  
真的不错,老是在javaeye上看见新奇的东西,也该学习学习了
14 楼 lijiaji_hy 2010-12-27  
将代码与表示层完全分开这个好像是个理想化的东西,很多都有尝试,除浏览器外(得益于js强大的支持),没有一个成功过。这里所说文档少是指关于Netbean官方提供平台的开发文档。NetBean的扩张性是没得说的,真如管方所说的那样,Netbeans就如同web容器那样管理着你的应用程序,甚至可用它开发命定行程序

hantsy 写道
从文档的角度来看,NetBeans 还是做得不错的,每个版本发布,NetBeans 都有相应的更新,当然都是比较基础的。

NetBeans Platform的最新的两本书都不错,应该是不可多得文档。

NetBeans Platform也说不上比Eclipse RPC 先进多少。Eclipse RPC有很多东西值得 NetBeans Platform学习,比如最基本的Form 的binding 和验证。Eclipse4 中全新的XWT,将代码与表示层分开,XML表示图形界面,逻辑全部在Java代码,CSS控制样式,这是Netbeans应该学习的地方。当然 Swing也有一些开源项目在做同样的事,如TK-UI(sf.net上)。 UFaceKit(GoogleCode上)试图统一Swing,SWT,GWT编程模型。

Swing在新概念吸收方面做得不够,Swing Application Framework有很多有价值的东西。比如 Convention over Configuration 在SAF中得到体验,但在Netbeans中就差得太远,NetBeans 中几乎所有的东西都是Hardcode的。

13 楼 hantsy 2010-12-27  
从文档的角度来看,NetBeans 还是做得不错的,每个版本发布,NetBeans 都有相应的更新,当然都是比较基础的。

NetBeans Platform的最新的两本书都不错,应该是不可多得文档。

NetBeans Platform也说不上比Eclipse RPC 先进多少。Eclipse RPC有很多东西值得 NetBeans Platform学习,比如最基本的Form 的binding 和验证。Eclipse4 中全新的XWT,将代码与表示层分开,XML表示图形界面,逻辑全部在Java代码,CSS控制样式,这是Netbeans应该学习的地方。当然 Swing也有一些开源项目在做同样的事,如TK-UI(sf.net上)。 UFaceKit(GoogleCode上)试图统一Swing,SWT,GWT编程模型。

Swing在新概念吸收方面做得不够,Swing Application Framework有很多有价值的东西。比如 Convention over Configuration 在SAF中得到体验,但在Netbeans中就差得太远,NetBeans 中几乎所有的东西都是Hardcode的。
12 楼 hantsy 2010-12-27  
Oracle 可能有另外的想法。。。比如JavaFX2
11 楼 lijiaji_hy 2010-12-27  
开源软件嘛,文档都是来自社区捐赠的,文档比较凌乱,netbean6.9以通知 Swing 应用程序框架不再按原计划进行开发了,
作Swing应用他推荐使用 NetBeans 平台,不写好文档怎么行呢?不知道oracle在搞什么


doom4j 写道
NetBean RCP 感觉国内相关文章太少了,也没有一个专门的论坛讨论什么的,宣传力度也小,所以不普及啊。东西到是好,不过我到很期待IDEA出个类似的平台,呵呵

10 楼 doom4j 2010-12-27  
NetBean RCP 感觉国内相关文章太少了,也没有一个专门的论坛讨论什么的,宣传力度也小,所以不普及啊。东西到是好,不过我到很期待IDEA出个类似的平台,呵呵
9 楼 lijiaji_hy 2010-12-27  
NetBean管方推出的,java行业的领导者,个人认为NetBean技术比eclipse强,NetBean在国内没有像eclipse应用那么普遍主要原因还是比eclipse出来的晚一些。

hantsy 写道
不错啊,,,可以联系 NetBeans 网站让他给你作个专访,这样这个就会让全球的 NetBeans 用户认知了,也可以被 NetBeans 官方作为 NetBeans Platform 案例收录啊。

8 楼 hantsy 2010-12-27  
呵呵,有空交流,我写了个NetBeans插件。
http://click4nb.googlecode.com
7 楼 hantsy 2010-12-26  
不错啊,,,可以联系 NetBeans 网站让他给你作个专访,这样这个就会让全球的 NetBeans 用户认知了,也可以被 NetBeans 官方作为 NetBeans Platform 案例收录啊。
6 楼 doom4j 2010-12-26  
是netbean rcp吗?这个是好东西啊。。。
5 楼 rmn190 2010-12-26  
太帅了, 自己也想搞这么个软件出来!
4 楼 depravedangel 2010-12-26  
lijiaji_hy 写道
获取多资源的方法,有个不好的建议,通过破解迅雷协议,从迅雷的服务器上获取下载资源,只是解密太过于复杂了。

想要下载快,资源是关键,我猜迅雷的资源中一部分也是这么搞来的
3 楼 lijiaji_hy 2010-12-25  
获取多资源的方法,有个不好的建议,通过破解迅雷协议,从迅雷的服务器上获取下载资源,只是解密太过于复杂了。
2 楼 苍山洱海 2010-12-25  
东西不错。。
一会儿迁出看看。
不过你说NETBEANS的UI不错。我得考虑试试。
1 楼 depravedangel 2010-12-25  
好东西,其实我很早就想实现类似的东西,苦于时间、精力有限
下载软件不能单单只考虑下载,资源的掠取是迅雷的一个亮点

相关推荐

    netbeans的小项目实例(初学可用)

    这个小项目实例是为初学者设计的,旨在帮助他们快速入门并理解如何在NetBeans中创建和管理项目。以下是一些关于NetBeans和这个特定项目的知识点: 1. **NetBeans IDE**:NetBeans是一个开源的开发工具,支持多种...

    netbeans实例包(包含多个常用实例)

    这个实例包集合了多个常用实例,旨在帮助开发者快速理解和掌握NetBeans IDE的使用技巧,提高开发效率。以下是对这些实例的详细解读: 1. **Java GUI应用开发**:NetBeans在Java GUI开发方面提供了丰富的支持,例如...

    NetBeans中web服务实例连接MYsql

    首先,NetBeans是一个开源的、跨平台的Java IDE,支持多种编程语言和项目类型,包括Web应用开发。在NetBeans中开发Web服务通常会用到JavaServer Pages (JSP)、Servlets或者Java EE框架如JavaServer Faces (JSF)。 ...

    Netbeans 卡片式窗口实例(CardLayout)

    本实例将深入探讨如何在NetBeans中使用`CardLayout`来创建卡片式窗口。 `CardLayout`是Java Swing库中的一个布局管理器,主要负责管理容器中组件的排列方式。它的核心功能是切换不同组件的可见性,使得在有限的空间...

    基于Netbeans-swing可关闭tab选择页

    在Java的Swing库中,创建用户界面时,TabbedPane是一个常见的组件,用于展示多个面板或内容区域。然而,标准的javax.swing.JTabbedPane并没有内置的关闭选项,这使得开发者在需要实现类似浏览器那样的可关闭标签功能...

    Ubuntu配置Netbeans8.2

    1. 下载 Netbeans:我们可以从 Netbeans 官方网站下载 Netbeans 8.2,选择合适的版本并下载。 2. 安装 Java 8:在 Ubuntu 操作系统上,默认情况下可能不是 Java 8 版本。我们需要卸载所有其他版本的 Java,并安装 ...

    Rich Client Programming Plugging into the NetBeans Platform

    3. **Swing组件库**:NetBeans平台基于Java Swing,书中可能涵盖了如何使用Swing组件创建用户界面,包括自定义组件和布局管理。 4. **事件处理**:解释NetBeans平台中的事件模型,如何注册监听器和处理用户交互。 ...

    java+netbeans+swing MP3程序

    在本项目中,"java+netbeans+swing MP3程序" 是一个使用Java语言,并在NetBeans IDE上开发的用户界面应用,主要用于处理或播放MP3音频文件。 Swing是Java Foundation Classes (JFC)的一部分,提供了一组用于创建...

    NetBeans富客户端编程权威教程

    《NetBeans富客户端编程权威教程》是一本深入探讨如何利用NetBeans平台进行高效、复杂的桌面应用开发的专业书籍。NetBeans是Java开发环境中的一个强大工具,尤其在构建富客户端应用程序(Rich Client Applications, ...

    NETBeans+IDE使用说明

    在使用 NetBeans IDE 之前,需要下载并安装 NetBeans IDE 中国教育考试版(2007)。下载地址为 http://www.neea.edu.cn、http://www.ncre.cn/和 http://211.151.94.22/TT/NB_NCRE_V2_0711.zip。下载完成后,解压缩到...

    学生信息管理系统NetBeans开发实例

    下面将详细介绍NetBeans平台下开发学生信息管理系统涉及的关键知识点。 1. **Java编程语言**:Java是学生信息管理系统的基础,它是一种跨平台的面向对象编程语言。Java的面向对象特性使得代码可读性高、易于维护,...

    eclipse和NetBeans的项目相互转换.

    本文将详细介绍如何在Eclipse和NetBeans之间进行项目转换,以实现跨平台的项目兼容性。 #### Eclipse项目转换至NetBeans **步骤一:准备工作** 确保Eclipse项目位于非中文路径下,这是为了避免字符编码问题导致的...

    netbeans-platform7.pdf

    - **NetBeans IDE**:下载最小版本的 NetBeans IDE(即 Java SE 版本),该版本提供了 NetBeans 平台工具包,包括模板和示例项目。你可以选择使用 Ant 或 Maven 构建系统来进行项目构建。 - **命令行 Maven**:使用 ...

    迁移到NetBeans平台的十个技巧

    随着Java 7的发展和JSR-296的停滞,更多的团队选择NetBeans作为Swing应用的下一步解决方案,尤其是在需要生命周期管理、Action系统和Task的情况下。 【部分内容】: 1. **遵循CRUD教程**:开始使用NetBeans平台时...

    Java Homework Projects A NetBeans GUI Swing Programming Tutorial(8th) epub

    Java Homework Projects A NetBeans GUI Swing Programming Tutorial(8th) 英文epub 第8版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    在_NetBeans_IDE_中设计_Swing_GUI_教程

    Swing是Java的一部分,用于创建图形用户界面,而NetBeans IDE是一个为Java等语言提供开发环境的集成开发平台。本教程主要介绍了以下几个方面的知识点: 1. **NetBeans IDE中的Swing GUI设计**: - NetBeans IDE...

    netbeans-word-processor:Netbeans平台示例项目

    【标题】"Netbeans-word-processor:基于Netbeans平台的文字处理示例项目" 【描述】"Netbeans-word-processor是一个在Netbeans平台上构建的示例项目,它展示了如何利用Java技术来开发一个基本的文字处理应用。这个...

    用Netbeans开发Hibernate项目

    2. **安装和配置Hibernate**:在Netbeans中,首先需要下载并添加Hibernate库到项目类路径中。这通常通过IDE的“项目”面板中的“库”选项完成,然后导入所需的Hibernate JAR文件。 3. **创建Hibernate项目**:新建...

    The Definitive Guide to NetBeans Platform 7

    《NetBeans平台7的终极指南》是一本深入探讨NetBeans平台第7版的全面书籍,旨在为开发者提供从基础知识到高级应用的全方位指导。NetBeans平台是一个强大的开发环境,广泛用于构建复杂的桌面、网络和企业级应用程序。...

Global site tag (gtag.js) - Google Analytics