`
tuxq5721
  • 浏览: 33406 次
社区版块
存档分类
最新评论

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数据的操作。

 

分享到:
评论

相关推荐

    数据结构课程设计-基于Java swing的股票交易模拟系统(源码+数据库+ppt).zip

    —————————————————————————————————————— 2、实验思路(详细描述解决问题的整体思路、涉及的算法思想及数据结构等) 该实验运用了数据库的知识,模型 视图 组件也被应用在...

    Java开发课程设计基于swing做的数据结构演示系统源代码.zip

    Java开发课程设计基于swing做的数据结构演示系统源代码。介绍 排序算法 包括直接插入排序、希尔排序、简单选择排序、冒泡排序、快速排序,可以实现十个数的排序演示,有追踪数据变化的功能。 二叉树遍历 该模块实现...

    swing界面设计之JTree

    (一) Spring 开发 Swing GUI 简介——依赖注入和富客户机 5 关于本教程 5 前提条件 6 Spring 和依赖注入概述 7 什么是 Spring 框架? 7 什么是依赖注入? 7 环境设置 7 选择编译环境 7 设置 Ant 8 通过 Ant 自动下载...

    Java SE实践教程 源代码 下载

    第7章 我要彩色照片——SWING的基本概念 141 7.1 讲解 142 7.1.1 Swing的基本概念 142 7.1.2 Swing组件继承关系 142 7.1.3 Swing组件一览 143 7.1.4 Swing和MVC设计模式 144 7.1.5 Swing的单线程模型 145 7.2...

    BombMan——实时联机对战小游戏 一个用java swing写的实时联机对战小游戏.zip

    java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...

    使用java编写swing配合BeautyEye写的例子源码(官方JAR和截图)

     过程中也难免存在些遗憾——有些更好的想法没有付诸实施,原因在于LNF代码的结构很多时候并不像Swing本身一样优秀(更多时候是LNF创造者们有所保留,因为LNF代码难保一劳永逸),且存在不少未公开API的调用,基于...

    Java SE实践教程 pdf格式电子书 下载(一) 更新

    第7章 我要彩色照片——SWING的基本概念 141 7.1 讲解 142 7.1.1 Swing的基本概念 142 7.1.2 Swing组件继承关系 142 7.1.3 Swing组件一览 143 7.1.4 Swing和MVC设计模式 144 7.1.5 Swing的单线程模型 145 7.2...

    Java SE实践教程 pdf格式电子书 下载(四) 更新

    第7章 我要彩色照片——SWING的基本概念 141 7.1 讲解 142 7.1.1 Swing的基本概念 142 7.1.2 Swing组件继承关系 142 7.1.3 Swing组件一览 143 7.1.4 Swing和MVC设计模式 144 7.1.5 Swing的单线程模型 145 7.2...

    学通Java的24堂课

    1.4.2 基本功训练2——提取path变量值创建新环境变量 17 1.4.3 基本功训练3——输出字符表情 17 1.4.4 基本功训练4——输出“*”字符组成的三角形 18 1.5 情景应用——拓展与实践 19 1.5.1 情景应用1——计算两...

    Java典型模块

    14.3 知识点扩展——从AWT到Swing的过渡 14.3.1 窗口类JFrame 14.3.2 按钮类JButton和面板类JLabel 14.3.3 单选按钮和复选框组件 14.3.4 选择框组件 14.3.5 输入框组件 14.4 小结 第15章 控制动画项目 (JSlider和...

    javaSE代码实例

    第2章 基本数据类型——构建Java 大厦的基础 12 2.1 源代码注释 12 2.1.1 单行注释 12 2.1.2 区域注释 12 2.1.3 文档注释 13 2.2 基本数据类型 14 2.2.1 整型 15 2.2.2 浮点型 17 2.2.3 char型 17...

    (J2EE)基于JAVA的网上订票系统源码

    该页面用到了专题咨询里面的主框架结构,和部分代码。 queryfailed.jsp——当查询失败时所连接到的界面 addtrain.jsp——管理员添加火车信息时的页面 adderror.jsp——用户点击添加火车信息时产生的错误界面 ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    Kotlinx.coroutines 是 Kotlin 的协程库,它提供了一种更直观和高效的方式来处理异步编程

    Dispatchers对象,带有Android/Swing/JavaFx 的主调度程序(运行时需要相应的工件)和 Darwin(开箱即用),以及后台协程的默认调度程序; 延迟和产生顶级挂起函数; Flow——带有流生成器和综合操作符集(filter、...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起 了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、 类、消息、接口、及抽象等概念。 2.2.1 ...

    Java开发技术大全 电子版

    2.5.1三种基本控制结构58 2.5.2表达式语句和空语句59 2.5.3块语句60 2.5.4if~else分支语句61 2.5.5多路分支switch~case语句69 2.5.6当型循环while语句71 2.5.7直到型循环do~while语句72 2.5.8当型循环for...

    从Java走向Java+EE+.rar

    第14章 JSF——类Swing的Web开发框架 202 14.1 JSF基础 202 14.2 实例——JSF处理用户登录 209 14.3 小结 215 第15章 利用JavaMail收发电子邮件 217 15.1 电子邮件协议和JavaMail 217 15.2 JavaMail核心...

Global site tag (gtag.js) - Google Analytics