Swing ——Swing基本结构

转自:http://blog.csdn.net/tuxq5721/article/details/17290809

 

 Swing原先是利用MVCModel View Controller)的概念衍生而出。
Swing组件的Model可分成3类。

 

Swing原先是利用MVCModel View Controller)的概念衍生而出

Model

         存储组件数据。例如JCheckBox中的Model将存储所有选项的值,并以Boolean值来表示,而JTableModel则会存储所有表格上的数据。

View

         显示组件的外观。

Controller

         处理用户在组件上的操作,并将改变后的数据存储在Model中。

         由于MVC具有清楚的模块结构,因此Swing在设计上也遵循这样的概念,但做了一点小小的改变。原先独立出现的ViewControllerSwing中是将它合并在一起的,并称为委托式UI界面(UIdelegate),原因是Swing的发展小组认为这两都具有紧密的相关性,若分开设计并没有太多的好处,且会提高设计上的难度。所以,原先的MVC结构就被更改成MUI结构。

 

Swing组件的Model可分成3

第一种:存储组件内将被用来操作的数据。

         该模式最常被用来显示不同的数据显示方式,如TableModelListModelComboBoxModelDocument等。TableModel是存储JTable上所有字段的数据,ListModel是存储JList上所有项目的数据,Document是存储文字输入组件(JTextFieldJTextArea等)内的所有内容。

第二种:存储控制组件操作模式的数据。

    例如在JListJTable中,我们可以使用ListSelectionModel来决定用户一次是否能选择多列的数据,或是JTableTableColumnModel可用来设置JTable中每个单元格的组件类型(如 JTextField JComboBox 等)。

第三种:存储组件本身性质的数据模式。

    例如JSliderJProgressBar组件都有minimunmaximunextentvalue四个参数值,用来代表组件的最小值、最大值、延伸区值与初始设置值,这四个参数值存储在BoundedRangeModel中。

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

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值