`
EdwardWorld
  • 浏览: 28370 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Swing为什么不受重视

阅读更多

我想在JavaEye发表一些Swing的技术文章,都不知道发布到哪个板里去,JavaEye好像完全无视Java GUI的存在,连一个专门的板块都没有。

我觉得Swing还是非常值得学习和应用的,比如我现在的工作,就是做工作流系统,GUI部分就是使用Swing做的。
 
国外Swing应用很广泛,NetBeans是使用Swing做的,Oracle9i的管理平台应该也是基于Swing的。

Java不只是用来做web的,Java的GUI技术也很成熟,非常值得提倡和应用,一提到Java GUI,大家普遍感觉就是慢,是的,比起C++的QT之类的GUI技术,Java是慢了,但是如果想采用跨平台的GUI界面,其实我们可以选择的并不多,QT开放协议刚刚有所放开,SWT跨平台性,事实证明并不理想,所以除了Swing,如果想做跨平台GUI,还真没多少可选择的方案,不过最重要的是,Swing并不像你想象的那么不堪,Swing其实也可以做出很复杂的界面。
所以建议JavaEye开一个Java GUI的板块,以供我们这些做Java Desktop软件的人来参与到JavaEye之中。

纠错:我在跟帖中说QT编写的软件release版体积近百兆,这么表述是错误的,因为我把调试的QtCored4.dll(17.8兆)和QtGuid4.dll(64.3兆)也计算在内了,这两个动态链接库不是必须的,特此纠正,感谢各位朋友的热烈讨论。

 

  • 大小: 549.5 KB
分享到:
评论
63 楼 mathgl 2009-04-26  
EdwardWorld 写道
night_stalker 写道
EdwardWorld 写道

Visual Studio所需要的GUI类库,在Windows启动的时候,已经加载完毕,所有的微软的程序都是调用使用Windows本身已经加载到内存中的类库,随意非常快是正常的,就是100G的软件打开,微软也可以让他飞快,况且你说的Visual Studio可能是C语言编写的,根本不能可Java这样的基于虚拟机的语言来比较,就算Visaul Studio也是使用基于虚拟机的.NET框架程序来写的,微软把自己的.NET预加载到内存中,然后和自己开发的软件高度整合优化,也是速度飞快的,作为外人的Java根本就不能和Visual Studio比较。

Eclipse之所以快,是因为它也是调用Windows现成的类库,快不是Eclipse的功劳。

如果程序不调用Windows的系统类库来渲染窗口,那么即使C++写的程序,也是能感觉到慢的,比如QT使用自己的GUI渲染技术,一个发布版本的QT,加上QT类库的dll,能有上百兆的体积,即使你只写一个Hello World,也是上百兆,因为QT自己的核心库:mingwm10.dll、QtCore4.dll、QtCored4.dll、QtGui4.dll、QtGuid4.dll加起来就有94.7兆。QT启动速度虽然比Java快,但是也是比VC++编写的程序慢的。

你现在接触到的Windows下的所谓快的软件,都是调用Windows本身的类库,当然快了。


QT 的运行时不会超过 10 M,你这个 100 M,难道是把 debug 版本的 dll 拿来当 release ?
如果用到的组件不多,甚至可以打包到几百 k。 QT 慢的原因,就是因为采用了和 swing 相似的架构吧……

swing 调用 java2D 和 java3D, java2D 和 java3D 在底下做了什么事情呢? 还不是调用系统本身的库 ??

再给你纠正一个错误: windows 本身带的库,不是类库。

GTK 也是自绘的, GTK 运行时加载速度怎么没见慢? FOX 、 wxWidget 怎么没见慢? 更不用说其它轻量级的库了。
在 gnome 下面写 GTK,甚至不用将运行时打包,虽然打包出来也是 10 M 不到。

GUI 最重要的是用户体验,一天到晚在扯呼“架构”能提升用户体验么?
swing 慢到甚至比不上网页上的 flex ……





给你纠正一个错误,如果你机器上没有安装QT,你使用release 那几十kb的dll和exe,根本无法运行。
看来你根本没有部署过QT,可能是本地调试过QT,离开你的环境,你还保证QT几十KB,我还真佩服你了。
我说的100MB是QT未压缩之前的发布体积,并不是QT程序占用的内存。


QT 4 后 似乎没有100m 这么夸张。我裁剪过一些.dll 。 发布的大约体积是 10-20m。压缩后 4-5m 所有。
100m 估计是全部的库都用上了。
62 楼 EdwardWorld 2009-04-26  
xuby 写道
EdwardWorld 写道

如果程序不调用Windows的系统类库来渲染窗口,那么即使C++写的程序,也是能感觉到慢的,比如QT使用自己的GUI渲染技术,一个发布版本的QT,加上QT类库的dll,能有上百兆的体积,即使你只写一个Hello World,也是上百兆,因为QT自己的核心库:mingwm10.dll、QtCore4.dll、QtCored4.dll、QtGui4.dll、QtGuid4.dll加起来就有94.7兆。QT启动速度虽然比Java快,但是也是比VC++编写的程序慢的。


上百兆?太夸张了。Release程序为什么要用带d的库?大多数程序只需要QtCore4.dll和QtGui4.dll,加起来 9兆不到。不知道你是否部署过Qt软件,老实说,你这种讲话的态度不够严谨。
没用过Swing,但我可以肯定Qt的速度足够快,也没觉得和vc程序的速度有明显差别,我们写很耗资源的图像处理程序都用他。甚至Qt的Python包装 PyQt 的速度都是可以接受的。


你的只有9MB?
说实话我9兆运行不起来,是我的QT水平不够吧,真的要受教了。
QT的速度我很认可,我说的它慢是和VC++相比,这种描述是否足够清楚?
61 楼 sunnymoon 2009-04-26  
night_stalker 写道
就是因为受不了难看缓慢的 Netbeans,才讨厌 Swing 的 ……


同样是个垃圾程序员
60 楼 sunnymoon 2009-04-26  
fsfish 写道
个人感觉桌面应用不是JAVA的强项,我也做过AWT SWING SWT的项目,感觉确实不如VB.DELPHI等快速开发工具方便和便捷,效率上也没有优势,不过如果看JDK的那些JAVA2D JAVA3D的DEMO确实挺赏心悦目的



linux之父和IBM的一位工程师口水战时,这位工程师说过一句话很适合你:垃圾程序员用什么语言写出来的程序都是垃圾。
59 楼 xuby 2009-04-26  
EdwardWorld 写道

如果程序不调用Windows的系统类库来渲染窗口,那么即使C++写的程序,也是能感觉到慢的,比如QT使用自己的GUI渲染技术,一个发布版本的QT,加上QT类库的dll,能有上百兆的体积,即使你只写一个Hello World,也是上百兆,因为QT自己的核心库:mingwm10.dll、QtCore4.dll、QtCored4.dll、QtGui4.dll、QtGuid4.dll加起来就有94.7兆。QT启动速度虽然比Java快,但是也是比VC++编写的程序慢的。


上百兆?太夸张了。Release程序为什么要用带d的库?大多数程序只需要QtCore4.dll和QtGui4.dll,加起来 9兆不到。不知道你是否部署过Qt软件,老实说,你这种讲话的态度不够严谨。
没用过Swing,但我可以肯定Qt的速度足够快,也没觉得和vc程序的速度有明显差别,我们写很耗资源的图像处理程序都用他, Google Earth也用的也是Qt。甚至Qt的Python包装 PyQt 的速度都是可以接受的。
58 楼 ldg_2 2009-04-26  
各有优缺点,各有侧重点,怎么一听到跟自己不同的声音就虚火上升?
喜欢用什么就用什么,哪来那么多废话!
57 楼 night_stalker 2009-04-26  
EdwardWorld 写道

给你纠正一个错误,如果你机器上没有安装QT,你使用release 那几十kb的dll和exe,根本无法运行。
看来你根本没有部署过QT,可能是本地调试过QT,离开你的环境,你还保证QT几十KB,我还真佩服你了。
我说的100MB是QT未压缩之前的发布体积,并不是QT程序占用的内存。

你可以把 几百k 看成 几十k,我也很佩服你……
很明显你把 debug dll 和各种文档的体积也算上去了。
QT 开发环境当然很大,但是 QT runtime 完全版打包后体积只有数 M。
如果一个 lib 的运行时需要100 M ,它根本就不可能流行。
56 楼 troyconder 2009-04-26  
我做过Swing AWT就不要和Swing分家了 同属一门
SWT感觉还行吧 没用过 还有现在的JavaFX好像也不太手重视
学GUI编程最快速有效的办法 是不用集成开发工具 当你明白了底层实现的时候 再用IDE 就非常得心应手了
我对于Swing是有感情的 Swing的组件都是可以修改的 JDK提供的Java 2D和Java 3D包 也绝对够专业 但是有一点的确不好 如果你做的应用不是为了跨平台的话 那Swing的确无法和其他Gui产品相竞争 每个操作系统都有它自己比较好的开发技术 windows平台 .NET技术以后必然成为王道 Linux平台也很多 如GTK等等 Mac平台也有相应的开发工具
并且Java对于系统底层的驾奴能力也不太好 虽然有JNI之类的技术 但是毕竟效率上还是很令人不爽的 至于楼主提到的QT 我是非常喜欢的 我喜欢QT这种类Swing的开发模式 并且语言还是基于C++ 我的最爱 QT取得了Nokia的支持 现在也有了自己的IDE 我看好Qt。
呵呵 仁者见仁的问题
55 楼 kj23 2009-04-26  
EdwardWorld 写道
night_stalker 写道
慢一点就忍了,功能是很不错的,但至少一个字得好好的显示出来吧…… output窗口那些歪歪扭扭的算什么?

netbeans 算是比较优秀的 swing gui 应用吧? 不那么优秀的就更别提了。

netbeans output 锯齿怎么这么厉害…… 这还是调大了的,原本根本看不见……
打开后会做 index 什么的挠一会,狂读硬盘。


visual studio 的 output 窗口字体是可以调的,总体积达数 G,但是启动速度非常快,体验很流畅。而且界面很简洁。


code blocks 的字体虽然小了点,但至少工整清晰。整体非常有 wxWidget 特色。



Visual Studio所需要的GUI类库,在Windows启动的时候,已经加载完毕,所有的微软的程序都是调用使用Windows本身已经加载到内存中的类库,随意非常快是正常的,就是100G的软件打开,微软也可以让他飞快,况且你说的Visual Studio可能是C语言编写的,根本不能可Java这样的基于虚拟机的语言来比较,就算Visaul Studio也是使用基于虚拟机的.NET框架程序来写的,微软把自己的.NET预加载到内存中,然后和自己开发的软件高度整合优化,也是速度飞快的,作为外人的Java根本就不能和Visual Studio比较。

Eclipse之所以快,是因为它也是调用Windows现成的类库,快不是Eclipse的功劳。

如果程序不调用Windows的系统类库来渲染窗口,那么即使C++写的程序,也是能感觉到慢的,比如QT使用自己的GUI渲染技术,一个发布版本的QT,加上QT类库的dll,能有上百兆的体积,即使你只写一个Hello World,也是上百兆,因为QT自己的核心库:mingwm10.dll、QtCore4.dll、QtCored4.dll、QtGui4.dll、QtGuid4.dll加起来就有94.7兆。QT启动速度虽然比Java快,但是也是比VC++编写的程序慢的。

你现在接触到的Windows下的所谓快的软件,都是调用Windows本身的类库,当然快了。

至于输出窗口的字体,我觉得现在的样式已经很好了,我完全看不到你说的锯齿,我这边字体显示也正常,在Netbeans 6.7里,输出窗口会有改进,但是我认为那是完全没有必要的,输出窗口提供一个搜索功能就可以了,输出窗口不是Dreamweaver 编辑器,没有必要做那么华丽。



很显然,你也知道swing和其他“native”的类库是没法比的,那正常人应该如何选择?
54 楼 EdwardWorld 2009-04-26  
night_stalker 写道
EdwardWorld 写道

Visual Studio所需要的GUI类库,在Windows启动的时候,已经加载完毕,所有的微软的程序都是调用使用Windows本身已经加载到内存中的类库,随意非常快是正常的,就是100G的软件打开,微软也可以让他飞快,况且你说的Visual Studio可能是C语言编写的,根本不能可Java这样的基于虚拟机的语言来比较,就算Visaul Studio也是使用基于虚拟机的.NET框架程序来写的,微软把自己的.NET预加载到内存中,然后和自己开发的软件高度整合优化,也是速度飞快的,作为外人的Java根本就不能和Visual Studio比较。

Eclipse之所以快,是因为它也是调用Windows现成的类库,快不是Eclipse的功劳。

如果程序不调用Windows的系统类库来渲染窗口,那么即使C++写的程序,也是能感觉到慢的,比如QT使用自己的GUI渲染技术,一个发布版本的QT,加上QT类库的dll,能有上百兆的体积,即使你只写一个Hello World,也是上百兆,因为QT自己的核心库:mingwm10.dll、QtCore4.dll、QtCored4.dll、QtGui4.dll、QtGuid4.dll加起来就有94.7兆。QT启动速度虽然比Java快,但是也是比VC++编写的程序慢的。

你现在接触到的Windows下的所谓快的软件,都是调用Windows本身的类库,当然快了。


QT 的运行时不会超过 10 M,你这个 100 M,难道是把 debug 版本的 dll 拿来当 release ?
如果用到的组件不多,甚至可以打包到几百 k。 QT 慢的原因,就是因为采用了和 swing 相似的架构吧……

swing 调用 java2D 和 java3D, java2D 和 java3D 在底下做了什么事情呢? 还不是调用系统本身的库 ??

再给你纠正一个错误: windows 本身带的库,不是类库。

GTK 也是自绘的, GTK 运行时加载速度怎么没见慢? FOX 、 wxWidget 怎么没见慢? 更不用说其它轻量级的库了。
在 gnome 下面写 GTK,甚至不用将运行时打包,虽然打包出来也是 10 M 不到。

GUI 最重要的是用户体验,一天到晚在扯呼“架构”能提升用户体验么?
swing 慢到甚至比不上网页上的 flex ……





给你纠正一个错误,如果你机器上没有安装QT,你使用release 那几十kb的dll和exe,根本无法运行。
看来你根本没有部署过QT,可能是本地调试过QT,离开你的环境,你还保证QT几十KB,我还真佩服你了。
我说的100MB是QT未压缩之前的发布体积,并不是QT程序占用的内存。
53 楼 EdwardWorld 2009-04-26  
EdwardWorld 写道
vlinux 写道
swing的所有组建都是画出来的,所以我们可以很方便的进行hack,我局限于仅仅知道Java的UI,所以这点不知道算不算他的优势。

话说回来,在RCP衰败的年代,为什么要坚守这个阵地呢?
BOSS的管理界面都在向WEB迈进了,一个短信发送平台为啥还要坚持呢?
工作流用WEB不也一样可以做么,而且更易于使用和维护,如果你不是为了之前的项目,为什么还要坚持呢?

想起JavaEye之前有个帖子是在说:我们讨论XX技术是否NX的时候,一定要统一下双方的需求范围,否则在这个领域Swing很有用,但是到了另外一个领域却一无是处。我觉得他说得是非常有道理的,所以就你所涉及到的短信发送平台而言,我个人认为用Swing是很不划算的哦


如果我需要调用本地的dll来控制硬件,web能做到么?

如果我需要加载硬件驱动程序,控制传真卡发送传真,web能做到么?
如果我需要从FTP上下载几千个文本文件,然后ETL导入本地数据库,web能做到么?
如果我想通过shell控制Linux服务器,web能做到么?
如果我想定时执行存储过程,web能做到么?这一条可能web能做到,但是如果我需要自动向存储过程传递的参数值是通过读取本地文本文件里的内容,web能做到么?
这些功能,在我目前参与的工作流系统里,都是最基本的功能,如果使用web开发,你能做到么?
最后,如果使用纯web,你连画流程那个界面都实现不了,假如你非要用JavaScript来实现,那么我问你,你的JavaScript代码量比Swing少么?恐怕要比Swing复杂程度多出一个数量级。

B/S 和C/S本来就是各有所长,如果你非要把一切都使用web来代替,能代替得了还说得过去,关键是有些功能你根本就代替不了,最简单的例子就是,你使用web来开发一个IDE试试。
52 楼 poemcode 2009-04-26  
night_stalker 写道
xsc963 写道

1、开ClearType ,这个非常的重要。
2、为netBeans加个快捷方式,放入参数  --laf javax.swing.plaf.metal.MetalLookAndFeel --fontsize 12
    用Swing我觉得比较好看跟快速,如果你喜欢别的观感,当然也可以使用

metal 只是改了个花哨的观感,没有解决 output 窗口字体的问题……

解决这个问题,很容易,请参考http://www.iteye.com/topic/190146,不论是windows还是linux,看起来都可以是赏心悦目。

说SWING慢或者难看,是一种偏见,Java GUI早前给人留下的印象,现在以讹传讹,甚至借题发挥,很少人真正去探寻。我对SWING不冷不热的看法是,这不是因为JAVA GUI本身的原因,而是这个时代早已不是桌面软件的王朝,WEB盘踞市场的局面至少还要持续5年,未来是什么?不知道,但是可以推测GUI在未来2年内不会有什么起色,--不光是JAVA GUI。
51 楼 night_stalker 2009-04-26  
EdwardWorld 写道

Visual Studio所需要的GUI类库,在Windows启动的时候,已经加载完毕,所有的微软的程序都是调用使用Windows本身已经加载到内存中的类库,随意非常快是正常的,就是100G的软件打开,微软也可以让他飞快,况且你说的Visual Studio可能是C语言编写的,根本不能可Java这样的基于虚拟机的语言来比较,就算Visaul Studio也是使用基于虚拟机的.NET框架程序来写的,微软把自己的.NET预加载到内存中,然后和自己开发的软件高度整合优化,也是速度飞快的,作为外人的Java根本就不能和Visual Studio比较。

Eclipse之所以快,是因为它也是调用Windows现成的类库,快不是Eclipse的功劳。

如果程序不调用Windows的系统类库来渲染窗口,那么即使C++写的程序,也是能感觉到慢的,比如QT使用自己的GUI渲染技术,一个发布版本的QT,加上QT类库的dll,能有上百兆的体积,即使你只写一个Hello World,也是上百兆,因为QT自己的核心库:mingwm10.dll、QtCore4.dll、QtCored4.dll、QtGui4.dll、QtGuid4.dll加起来就有94.7兆。QT启动速度虽然比Java快,但是也是比VC++编写的程序慢的。

你现在接触到的Windows下的所谓快的软件,都是调用Windows本身的类库,当然快了。


QT 的运行时不会超过 10 M,你这个 100 M,难道是把 debug 版本的 dll 拿来当 release ?
如果用到的组件不多,甚至可以打包到几百 k。 QT 慢的原因,就是因为采用了和 swing 相似的架构吧……

swing 调用 java2D 和 java3D, java2D 和 java3D 在底下做了什么事情呢? 还不是调用系统本身的库 ??

再给你纠正一个错误: windows 本身带的库,不是类库。

GTK 也是自绘的, GTK 运行时加载速度怎么没见慢? FOX 、 wxWidget 怎么没见慢? 更不用说其它轻量级的库了。
在 gnome 下面写 GTK,甚至不用将运行时打包,虽然打包出来也是 10 M 不到。

GUI 最重要的是用户体验,一天到晚在扯呼“架构”能提升用户体验么?
swing 慢到甚至比不上网页上的 flex ……



50 楼 EdwardWorld 2009-04-26  
vlinux 写道
swing的所有组建都是画出来的,所以我们可以很方便的进行hack,我局限于仅仅知道Java的UI,所以这点不知道算不算他的优势。

话说回来,在RCP衰败的年代,为什么要坚守这个阵地呢?
BOSS的管理界面都在向WEB迈进了,一个短信发送平台为啥还要坚持呢?
工作流用WEB不也一样可以做么,而且更易于使用和维护,如果你不是为了之前的项目,为什么还要坚持呢?

想起JavaEye之前有个帖子是在说:我们讨论XX技术是否NX的时候,一定要统一下双方的需求范围,否则在这个领域Swing很有用,但是到了另外一个领域却一无是处。我觉得他说得是非常有道理的,所以就你所涉及到的短信发送平台而言,我个人认为用Swing是很不划算的哦


如果我需要调用本地的dll来控制硬件,web能做到么?
49 楼 vearn 2009-04-26  
我也是swing的fans,公司的电信级网管系统的GUI也是基于swing构建的。但是如果做下一个产品,我不会选择swing

您的文章引发了这么多的回帖,说明广大开发人员对swing还是关心的,对java desktop技术是有话要说的(包括swt)。当然有许多兄弟出于对swing的误解(皮肤难看、耗时操作导致界面无响应),没有深入到swing就放弃了,我想这更多的是SUN的责任。

首先,swing的门槛太高了,使一大批人知难而退。swing只是一个工具包,但开发人员提供的是企业级产品。JavaSE标准包中,docking window system没有(您用的是infonode吧),状态栏没有,bean binding没有,vadilation没有,许多常用组件也没有。您可能会说:3rd party lib,很好很强大,但文档都是E文的,英语不好的被挡在门外了。

其次,个人觉得java不适合描述UI。看看netbeans生成的GroupLayout代码,您回帖中说“但是Netbeans生成的Swing代码很规范,没有一点冗余,说Netbeans生成的代码冗余的人,多半是写不出来规范的Swing的”,我不敢苟同,相比jgoodie FormLayout、javafx、groovy的声明式描述,GroupLayout的java API式描述不但冗余,而且不直观难以理解。

最后,我对SUN深深地失望。SUN一直没有很好的利用社区的强大力量,整合资源。他不去搞JSR295、JSR296以降低swing的门槛,而是在2007年高调宣布了javafx,诚然javafx是很好,但它不适合我。公司需要的是企业级应用,而不是渐入渐出、反射、溶解等等effect。

swing是很优秀的UI技术,从它身上我学到了很多。。。

EdwardWorld 写道
勇敢的心 写道
SWING败在架构,出现ECLIPSE那么好的集成开发平台,只能是既生瑜,何生亮了

我恰恰觉得Swing最大的有点是架构,架构清晰而且严密。
Eclipse我06年-07年用过,并没有觉得他是多么好的集成开发平台,Netbeans有Visual Library图形化库,有Netbeans platform 开发框架平台,而且这些都是由现在sun(现在的Oracle)这样的大公司来维护更新,解决方案比Eclipse好。

如果你用过MFC 开发,那么你会觉得Swing的架构不是一般的清晰。
现在QT的UI库,我感觉就是在模仿Swing,为什么QT不模仿SWT呢?

48 楼 EdwardWorld 2009-04-26  
slaser 写道
值得一提的是eclipse已经不是一个IDE,而是一个平台,eclipse e4出来相信会有震憾的。

Netbeans也不仅仅是一个IDE,更是一个Platform
47 楼 slaser 2009-04-26  
值得一提的是eclipse已经不是一个IDE,而是一个平台,eclipse e4出来相信会有震憾的。
46 楼 hatedance 2009-04-26  
最近我也在学习SWING,看到资料都是2003年以前的,估计是SWING从那以后就没发展了。不过,我觉得SWING在架构方面确实很有料,这让我决定深入学习。
当然,java在桌面开发方面确实不如其在WEB方面应用广泛。大约80%的java程序是web。也许低端的才是大众的,夸平台是只是我们开发人员的一厢情愿,用户要的就是体验,速度。native的才是快的。
45 楼 shiren1118 2009-04-26  
night_stalker 写道
java.lang.Object 写道

swing 的一切都是可以画出来的,怎么会难看呢?它也是可以换lookandfeel的,我觉得很多人学SWING都是人云亦云,自己没有深入去了解他。这也是大多数程序员跟风的心态。没有自己去仔细研究过。

哪个 GUI库 不可以重画? 就算直接用 Win32 API,也能换 look and feel 啊。



你要这么讲就没意思了,

swing的外观,布局,事件处理机制,双缓冲,修改的mvc
+AppFramework-1.03 可以使用注解

等等都还是不错的
44 楼 slaser 2009-04-26  
Swing的架构确实不错,差的是sun的实力。
我今天刚搞了个ubuntu9,上面同时安装了eclipse和netbeans,
eclipse3.4现在ubuntu9上的表现已经超过了netbeans.
swt进步也是很快的。
eclipse主要差在集成开发上,要下很多插件,这个比较郁闷。不过说道编辑器,特别是java编辑器,eclipse领先太多了。

相关推荐

    AWT与Swing使用区别

    - **Swing**:Swing组件是轻量级的,它们不依赖于底层操作系统,而是完全由Java实现。这使得Swing组件具有跨平台的一致性,并且提供了更丰富的功能和自定义选项。 2. **组件的扩展性和可定制性** - **AWT**:AWT...

    swing开发课件,学习GUI的课程

    Swing的一个重要特性是轻量级,这意味着它不依赖于操作系统提供的GUI组件,这使得Swing的应用程序具有更好的跨平台兼容性。 Swing提供了模型-视图-控制器(MVC)架构,使得代码更加结构化和可维护。例如,JTable...

    Swing做的人事管理系统

    Swing是轻量级的,因为它不依赖于操作系统提供的UI组件,这使得Swing应用具有跨平台性。在这个人事管理系统中,Swing被用来设计和实现图形用户界面,包括菜单、对话框、表格和其他交互元素。 2. **SQL Server数据库...

    swing登录注册界面设计

    学习和掌握swing登录注册界面设计,对于开发者来说,不仅是学习Java Swing开发基本技能的过程,也是提升软件开发能力和效率的重要途径。通过构建出既实用又美观的界面,开发者可以为用户提供更优质的体验,从而提升...

    Java+Swing+Mysql实现通讯录管理系统

    总的来说,这个“Java+Swing+Mysql实现通讯录管理系统”是一个集成了Java后端处理、Swing图形界面设计和MySQL数据库管理的实用应用,它展示了如何将这些技术有效地结合在一起,为用户提供一个便捷的通讯录管理工具。...

    Java-推箱子.zip

    注释的存在意味着代码的可读性和可维护性得到了重视,这对于后续的修改和优化至关重要。 总的来说,这个"Java-推箱子"项目涵盖了Java GUI编程、游戏逻辑设计、对象建模和事件驱动编程等多个方面的知识。通过学习和...

    计算器(TCalculator)

    【描述】该计算器应用的设计目的是为用户提供一个方便的计算环境,无论是进行日常计算还是解决复杂的数学问题。用户可以通过图形用户界面(GUI)直观地输入数字和选择运算符。作者鼓励用户如果有任何疑问或建议,...

    最新版Substance5

    Substance 是一个流行的 Java Swing 主题库,它允许开发者为他们的 Java 应用程序提供丰富的、自定义的外观和感觉。这款最新版 Substance 5...对于那些重视用户界面设计的开发者来说,Substance 是一个不可或缺的工具。

    xcode-maven-plugin-1.4.1.zip

    开源项目通常会有活跃的社区支持,为开发者提供了丰富的学习和协作机会。 在压缩包"swing-shortcut-manager-master"中,我们可能找到以下内容: 1. 项目的源代码文件:包括`.java`文件,这些是用Java语言编写的源...

    Java简明教程

     本书不仅注重知识传授,而且重视对读者创新能力的培养。 本书讲述Java面向对象编程的思想和方法,揭示Java的技术实现内幕和编译上的不完善之处,这对培养读者勤于思考、勇于实践和敢十创新很有帮助。在编排上采用...

    基于Android的家教预约平台app,结合Android、java和sql的前端和后端应用开发

    随着时代的快速发展,知识更新越来越快,家长们对自己孩子的教育也越来越重视,不希望自己的孩子输在起跑线上,因此,越来越多的家长不断搜寻好的老师给孩子做课外辅导。然而,据调查发现,现有的辅导教育机构招聘的...

    StudentListApp.rar_管理 applet

    在当今信息技术高速发展的时代,教育领域的信息化管理也日益受到重视。本文将深入探讨一个名为"StudentListApp"的网络版学生成绩管理系统,它采用Java Applet技术进行开发,旨在提供一种高效、便捷的方式来管理学生...

    UML.rar_java酒店预订_site:www.pudn.com_酒店预订

    开发者可能利用Java Swing或JavaFX库来创建图形用户界面(GUI),这两个库提供了丰富的组件和工具,可以轻松构建出复杂且美观的界面。 动态不规则界面是指界面设计不遵循传统的矩形布局,而是采用更自由、更富创意...

    GUI美化

    GUI美化不仅仅是视觉上的提升,更是对用户体验的重视。Java SE提供了丰富的工具和框架,使开发者能够轻松实现这一目标。通过本文的介绍,相信读者已经掌握了Java界面美化的关键技术和实践方法,期待大家能在自己的...

    JavaEye新闻月刊 - 2010年02月 - 总第24期

    5. **Swing Worldclock - 世界时钟效果**:Swing是Java提供的图形用户界面库,这个示例展示了如何使用Swing创建一个世界时钟,展示了Swing的灵活性和可定制性。 6. **开源作业调度框架Quartz 1.7.1发布**:Quartz是...

    Java面试技巧大全

    面试往往重视候选人的基础知识掌握程度,因为这是评估程序员素质的重要标准。以下是一些Java面试中常见的知识点: 1. **final, finally, finalize的区别**: - `final`:用于修饰变量、方法和类,表示变量不可变、...

    Java.Programming.From.Problem.Analysis.to.Program.Design

    总结来说,Java编程语言因其在教育界的普及和作为计算机科学入门编程语言的地位而受到重视。本书《Java编程:从问题分析到程序设计》不仅涵盖了传统和现代编程风格,也为编程初学者提供了一个系统的编程学习框架。...

    java版bad apple

    总的来说,Java版Bad Apple项目展示了Java在图形编程方面的潜力,同时也对开发者提出了挑战,要求他们具备良好的编程技巧、图像处理知识以及对用户体验的重视。这个项目不仅是对经典作品的致敬,也是Java学习者提升...

    JAVA自学之路

    但是如果把时间花在spring的各种细节的研究上,花在研究中国企业应用不广泛地的spring mvc上,这个精力就太浪费了,而且学习的积极性会受到打击,谁愿意整天泡在细节的蜘蛛网中挣扎不出来呢?谁愿意天天经历风雨却...

    课程设计报告-ATM柜员机模拟程序.doc

    在本次面向对象程序设计的课程设计中,我们以ATM柜员机模拟程序为题,旨在深入理解和应用图形用户界面(GUI)设计方法,以及熟练掌握Java Swing组件的使用和事件处理程序的编写。以下是详细的设计报告内容: 1. **...

Global site tag (gtag.js) - Google Analytics