Swing学习笔记1---概述

Swing与AWT的关系:

    AWT中大部分组件都含有native代码,而操作系统并非java编写,故要与操作系统相互沟通就必须使用与操作系统兼容的程序语言,产生所谓的对等(peer)实体,一个AWT组件就等于一个对等对象,这样的做法所需付出的代价除了没有弹性外,也可能消耗大量的系统资源。

    Swing彻底解决了上诉问题。Swing组件是由纯Java程序所编写的(除了JFrame,JDialog,JWindow,JApplet之外),这样的做法可以动态改变组件外观及LookAndFeel。而且产生的Swing组件不会产生对等组建,可减少系统资源,增加系统稳定性,所有与操作系统间的交互将通过最上层组件(JFrame,JDialog,JWindow,JApplet)来完成。

    但是Swing并不是完全取代了AWT,使用Swing组件是常常还是需要旧有的AWT功能的,例如事件处理(Event Handle)或版面配置(Layout Manager),因此可以把Swing和AWT看成是相辅相成的两大工具组。

Swing结构:

    Swing原先是利用MVC(Model-View-Controller)的概念衍生而出,运用MVC结构可以使程序具有对象化的特性,也更容易维护。但MVC结构在Swing的设计上有一点点改变,原来独立出来的View与Controller在Swing中是合并在一起的,并称为UI界面(UI-delegate),原因是Swing的发展小组认为两者具有紧密的相关性,分开的话没有太多好处,还会增加设计上的难度,故原先的MVC结构就被更改为M-UI结构。

    Swing中Model的概念最为重要和复杂,可分为3个种类:

    1.存储组件内将被用来操作的数据。此种模式最常被用来显示不同的数据显示方式,如TableModel、ListMode、ComboBoxModel、Document等。适时地操作这些模式将有助于程序的简化。

    2.存储控制组建操作模式的数据。

    3.存储组件本身性质的数据模式。

    当用户与界面有任何交互时,所有改变的值会更改至Model中原有的数据,此时Controller会负责用更改画面与变更Model数据的操作。

JFC-Java Foundation Classes-包含5个部分:

    1.AWT组件:旧有的窗口组件包。

    2.Swing组件:新的窗口组件包。

    3.Accessibility API:提供一种更先进的沟通界面。例如语音输入或触摸屏。

    4.Java 2D API:提供强大的图形处理函数。

    5.支持Drag and Drop:类似于Windows中开两个窗口作文件的Drag and Drop(Copy and Paste)功能,即在两个相同的java界面,甚至是Java与其他应用程序界面作数据交换的操作。

lightweigth compoment:

    Swing是由纯Java代码所写,因此Swing解决了Java因窗口类而无法跨平台的问题,使窗口功能也具有跨平台与延展性的特性。而且Swing不需占用太多系统资源,因此我们说Swing是lightweight,表示我们可利用它轻易地做出各种变化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值