Swing是MVC设计的典范

转载 2006年06月12日 17:07:00

不管你的项目是否用到了Swing技术,我都要说,Swing是一个设计优秀的Java包,它充满了大师的智慧。如果你学了Java却连一个Button还不会写,就象你学习Visual Basic却不会用Button,那可绝对是不能被原谅的。Swing技术的应用已经在国外大行其道,由于java的免费、易学以及大家对于java技术的充分信赖,好多公司早早的就把应用程序的一切,从后台服务到前台人机交互界面,统统移到了java开发上。Swing出现了快10年了,凭借其先进的设计思想,一直未曾落后于哪种语言的界面开发技术,使用和理解Swing的设计思想,对软件开发者大有裨益。

Swing的设计是MVC的典范。虽然MVC的概念有点泛滥,可是真正能够理解并熟练掌握、在设计和开发里面自然流露的并不多见。记得用VC++开发程序时候,MFC向导也是生成Document和View两个类,当时一直奇怪为什么这么绕圈子。再看Swing的设计,则到处充满了MVC的痕迹。仔细研究Swing中事件监听、Model-View分离、Renderer/Editor机制、可插拔的LookAndFeel等机制,简直就是一门艺术,充满了美感。而如果你非常痛恨这些设计并觉得他们怪异,很可能你是刚从VB或者Delphi转过来,这些快速开发工具帮助了你也“害”了你。

Swing设计的不错,不过可能过度学术化的设计也使得Swing跑起来并不灵巧,学习难度也大。这客观上确实使得Swing一直没有被广泛使用,而且广受诟病。记得以前“Swing有什么成功的应用吗?”之类的帖子一直是热门话题。IBM等则趁机抓住小辫子弄了SWT吸引了不少人,使得Java GUI技术面临分裂的危险。

不过随着JAVA的不断升级和优化,Swing的速度一直在提高,美观性也在改善,基于Swing的成功应用也越来越多了。关于Swing是否消亡或被SWT代替或是否能作桌面应用的争论逐渐少了。不过喜欢并精通Swing技术的开发者,尤其在国内,依旧非常少。

好在情况在转好。Sun正意识到Eclipse和SWT所带来的威胁,下了大力气发展NetBeans,其最新版本对Swing GUI可视化设计的支持已经超过了所有对手,其Rich Client框架也走向成熟,这对Swing的发展和应用是一个很大的推动。随着WEB热潮的减退,人们又更多的开始理性的思考B/S和C/S架构的选择,某些领域Swing技术已经成为首选的解决方案。随着JGoodies、JIDE、TWaver等优秀Swing产品的不断涌现,Swing会以更快速度在桌面应用中普及。


resized image
resized image

(该文转载自Matrix,原文地址:http://www.matrix.org.cn/resource/article/44/44417_Swing+MVC.html

Swing的设计是MVC的典范

swingmvcjavaswtnetbeansdelphi 不管你的项目是否用到了Swing技术,我都要说,Swing是一个设计优秀的Java包,它充满了大师的智慧。如果你学了Java却连一个B...
  • jearmy
  • jearmy
  • 2014年12月03日 20:40
  • 352

Swing的设计是MVC的典范

不管你的项目是否用到了Swing技术,我都要说,Swing是一个设计优秀的Java包,它充满了大师的智慧。如果你学了Java却连一个Button还不会写,就象你学习Visual Basic却不会用Bu...
  • u013890660
  • u013890660
  • 2014年05月06日 11:06
  • 758

MVC设计模式 的概念

MVC设计模式 的概念打从笔者在csdn搜索“MVC”,结果出现了标题主旨不同的几种有关“MVC”的博文之后,笔者就知道了MVC会有几个重定义。在笔者阅览过这些博文之后,可以总结出:在我们程序员所在领...
  • yasukusury
  • yasukusury
  • 2017年03月18日 13:46
  • 112

java之MVC设计模式浅析

Java之MVC设计模式使用 一、设计模式简介: 在学习MVC设计模式之前,先简单说一下什么是代码的设计模式。 官方的说法是:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经...
  • jzc251105671l
  • jzc251105671l
  • 2017年07月13日 22:03
  • 50

MVVM设计模式与MVC模式

如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller, 即MVC。MVC是构建iOS app的标准模式。在本文,我将重温一下MVC是什么,详述它的缺点,并且告诉你...
  • BaiHuaXiu123
  • BaiHuaXiu123
  • 2016年02月26日 19:41
  • 924

JAVA之Swing设计

import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt...
  • xinwen1995
  • xinwen1995
  • 2016年07月18日 22:54
  • 349

Swing界面设计工具

对于未知技术的原理,我总喜欢自己想像它是如何实现的。我上学时互联网搜索技术还没有怎么流行。大家学习新技术的方法,总是第一去查教科书,第二去找论文,第三去问师兄。而我想知道的技术往往都是教科书上找不到,...
  • javalife0
  • javalife0
  • 2015年09月20日 10:10
  • 844

Android性能优化典范 - 第6季

涉及的内容主要有:程序启动时间相关的三个方面:activity的创建过程,臃肿的application启动对象,主题启动显屏。另外还介绍了减少安装包大小的checklist以及如何使用VectorDr...
  • axi295309066
  • axi295309066
  • 2016年09月25日 10:09
  • 1196

Swing——动作(Action)

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41258997 用同一个动作响应按钮、菜单项或击键的方式:...
  • pistolove
  • pistolove
  • 2014年11月18日 23:01
  • 1759

java Swing框架应用,计算器的设计实现

本计算器的实现最基本的四则运算及
  • superYZG
  • superYZG
  • 2014年08月07日 14:02
  • 989
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swing是MVC设计的典范
举报原因:
原因补充:

(最多只允许输入30个字)