Swing编程

1.Swing概述

        Swing是由100%纯java实现的,不再依赖于本地平台的GUI,因此可以在所用平台上都保持相同的界面外观。独立于本地平台的Swing组件被称为轻量级组件;而依赖于本地平台的AWT组件被称为重量级组件。

        由于Swing的所有组件完全采用java实现,不再调用本地平台的GUI,所以导致Swing图形界面的显示速度要比AWT图形界面的显示速度慢一些,但相对于快速发展的硬件设施而言,这种微小的速度差别无妨大碍。

使用Swing的优势:

        1.Swing组件不再依赖本地平台的GUI,无须采用各种平台的GUI交集,因此Swing提供了大量图形界面组件,远远超出了AWT所提供的图形界面组件集。

        2.Swing组件不再依赖于本地平台GUI,因此不会产生与平台相关的bug

        3.Swing组件在各种平台上运行时可以保证具有相同的图形界面外观

2.Swing的特征

        1.Swing组件采用MVC,即模型-视图-控制器  设计模式:

模型(Model):用于维护组件的各种状态

视图(View):是组件的可视化表现

控制器(Controller):用于控制对于各种事件,组件做出响应。

当模型发生改变时,它会通知所有依赖它的视图,视图会根据模型数据来更新自己。Swing使用UI代理来包装视图和控制器,还有一个模型对象来维护该组件的状态。

        2.Swing在不同平台上表现一致,并且有能力提供本地平台不支持的显示外观。由于Swing采用MVC模式来维护各组件,所以当组件的外观被改变时,对组件的状态信息没有任何影响。因此Swing可以使用插拨式外观感觉来控制组件外观,使得Swing图形界面在同一个平台上运行时能拥有不同的外观,用户可以选择自己喜欢的外观。相比之下,在AWT图形界面中,由于控制组件外观的对等类与具体平台相关,因此AWT组件总是具有与本地平台相同的外观。

3.Swing组件按功能来分类:

        1.顶层容器:Frame、JApplet、JDialog和JWindow.

        2.中间容器:JPanel、JScrollPane、JSplitPane、JToolBar等。

        3.特殊容器:在用户界面上具有特殊作用的中间容器,如JIntemalFrame、JRootPane、JLayeredPane和JDestopPane等。

        4.基本组件:实现人机交互的组件,如JButton、JComboBox、JList、JMenu、JSlider等。

        5.不可编辑信息的显示组件:向用户显示不可编辑信息的组件,如JLabel、JProgressBar和JToolTip等。

        6.可编辑信息的显示组件:向用户显示被编辑的格式化信息的组件,如JTable、JTextArea和JTextField等

        7.特殊对话框组件:可以直接产生特殊对话框的组件,如JColorChooser和JFileChooser等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iuiu啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值