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

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

 

分享到:
评论

相关推荐

    javaswing课程设计——课程表

    在这个“javaswing课程设计——课程表”项目中,学生或初学者将学习如何利用Swing来开发一个功能齐全的课程表应用。 首先,我们需要了解Java Swing的基本使用。Swing是基于事件驱动模型的,也就是说,用户在界面上...

    企业人事管理系统-——Swing+MySQL

    《企业人事管理系统——Swing+MySQL详解》 在IT领域,构建一个企业级的人事管理系统是常见的需求,它能够有效地管理公司内部的员工信息、考勤记录、绩效考核等重要数据。本文将深入探讨如何利用Java Swing作为前端...

    学生练习——Java Swing开发的小计算器

    在这个"学生练习——Java Swing开发的小计算器"项目中,学生利用Swing库创建了一个简易的计算器程序,用于执行基本的数学运算,如加、减、乘、除等。 Swing库提供了大量的组件,如JButton、JLabel、JTextField等,...

    Java.Swing图形界面开发与案例详解.王鹏等——第5章

    王鹏等——第5章"中,读者将学习到如何创建一个完整的Swing应用程序,从设置主窗口到添加组件,再到处理用户输入和响应事件。书中可能包含了以下实例: 1. 创建简单的Hello, World!程序,展示如何建立一个包含...

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

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

    Java中Swing的相关知识(1)

    ### Java中Swing的相关知识详解 #### 一、Swing简介 ##### 1.1 Swing的背景 ...以上介绍涵盖了Swing的基本概念、特点以及类层次结构。通过理解这些基础知识,开发者可以更好地利用Swing来构建高质量的图形用户界面。

    Java.Swing图形界面开发与案例详解.王鹏等——第7章

    除此之外,Swing提供了高级组件,如JTable用于显示和编辑表格数据,JTree用于展示树形结构数据,以及JTabbedPane用于创建选项卡式的界面。这些组件不仅增强了用户界面的交互性,也为数据管理和展示提供了便利。 ...

    Swing样式大全(全56种经典)

    1. 外观和主题:Swing提供两种基本外观——Metal(默认)和Nimbus,同时支持第三方外观,如Windows和GTK+。通过`UIManager`类,开发者可以轻松地改变应用程序的全局外观。 2. 颜色和字体:每个组件都有自己的颜色和...

    (Sams) Pure JFC swing

    - **第1章:Swing概述**(Swing Overview)——介绍Swing的基本概念及其在GUI开发中的重要性。 - **第2章:Swing Applets**——讲解如何使用Swing构建Applet应用程序。 - **第3章:事件处理**(Event Handling)...

    服装销售系统java swing

    本文将深入探讨一个特别适合初学者的项目——基于Java Swing的服装销售系统,它涵盖了Java面向对象编程、网络编程、Swing组件使用以及SQL Server 2008数据库建模等多个重要知识点。 首先,Java面向对象编程是现代...

    Java.Swing图形界面开发与案例详解.王鹏等——第1章和第2章

    1. **Swing组件体系结构**:讲解Swing如何构建在AWT(Abstract Window Toolkit)之上,提供更丰富的组件和更好的跨平台兼容性。 2. **容器与布局管理器**:介绍JFrame、JPanel等基本容器类,以及BorderLayout、...

    《Java Swing图形界面开发与案例详解》源代码

    本资源——"《Java Swing图形界面开发与案例详解》源代码",显然是一个详细教程的配套源码,旨在帮助学习者深入理解和实践Swing的相关知识。 Swing组件库包含了窗口、按钮、文本框、滚动面板、菜单、表格、树形视图...

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

    总而言之,《BombMan——实时联机对战小游戏》是一个全面展示Java Swing编程能力的项目,它涵盖了图形界面设计、网络编程、游戏逻辑实现、数据结构运用以及多媒体处理等多个方面。通过深入研究和学习这个游戏,...

    PM.rar_swing_swing mysql_人事pm系统_人事管理 swing_人事系统

    本项目——"PM.rar_swing_swing mysql_人事pm系统_人事管理 swing_人事系统",是一个以Swing作为前端图形用户界面,MySQL作为后台数据库的人事管理系统,其功能强大且易于操作,具有较高的实用价值。 首先,让我们...

    swing练习1.zip

    在"综合练习1——swing"中,我们可能遇到以下知识点: 1. **组件的使用**:例如JButton、JLabel、JTextField、JTextArea、JCheckBox、JRadioButton等,了解它们的功能和用法,以及如何在布局管理器中安排这些组件的...

    售楼管理系统 java-swing

    本系统——"售楼管理系统"就是一个典型的Java-Swing应用实例,非常适合初学者或有经验的开发者用来学习和研究Swing的使用。 在Java-Swing中,我们首先会接触到JFrame,它是所有窗口应用的基础,相当于窗口容器,...

    swing_mysql_demo.rar_ActionIcon png_DEMO_swing mysql_swing管理系统

    "swing_mysql"和"swing管理系统"再次强调了项目的核心技术——使用Swing进行前端设计,并结合MySQL进行数据存储。 根据压缩包子文件的文件名称列表,"小型超市管理系统"和"smallmarket"可能分别是该系统的主程序...

    学生信息管理系统,,完美版 java swing

    《学生信息管理系统——Java Swing与Oracle数据库的完美结合》 在信息技术日新月异的今天,学生信息管理系统已经成为教育机构日常运营不可或缺的一部分。本系统,名为"学生信息管理系统,完美版",以其全面的功能和...

Global site tag (gtag.js) - Google Analytics