一:Swing的整体设计
1, 它是建立在Awt的基础之上,是Awt的增强版本,包括大多数的轻量组件的组件集和插入式外观。Swing的设计是基于MVC的体系结构,允许Swing组件被不同的数据模型和视图所替代,这样就产生了“可插入外观”。
2, Awt最初只包括对等到组件相关联重量组件,它们在自己的本地不透明窗口中绘制。轻量组件没有本地对等组件,而且它们在自己的重量容器中绘制。Swing中除了顶层容器 (JFrame, JDialog, JApplet, JWindow)外,都是轻量组件,轻量组件必须包含在一个重量容器中。
3, Swing包结构
javax.swing Swing组件和实用工具;
javax.swing.border Swing轻量组件的边框;
javax.swing.colorchooser JColorChooser的支持类/接口;
javax.swing.event 事件和贞听器类;
javax.swing.filechooser JFileChooser的支持类和接口;
javax.swing.plaf 抽象类,它定义“UI代表”的行为;
javax.swing.plaf.basic 实现所有标准界面样式公共的基类;
javax.swing.plaf.metal 用户界面代表类,它们实现了Metal界面样式;
javax.swing.table JTable组件的支持类;
javax.swing.text 支持文档的显示和编辑;
javax.swing.text.html 支持显示和编辑html文件;
javax.swing.text.html.parser Html文件的分析器类;
javax.swing.text.rtf 支持显示和编辑RTF文件;
javax.swing.tree JTree组件的支持类;
javax.swing.undo 支持取消操作;
二:Swing的MVC体系结构
1, Swing的Model,这是MVC中的M—模型部分,它保存了Swing组件所需要的数据,Swing组件的UI需要根据它来展现。
2, Swing的UI类,这是MVC模式的V—视图部分,它根据组件的Model中的数据,执行绘制、展现Swing组件。
3, Swing组件类,它封装了Swing的UI对象和Model对象。我们一般通过它来操作Swing组件,不会直接使用Swing组件内部的UI对象和Model对象。
4,Swing组件上还可以注册一系列的事件临听器,它们是MVC模型中的C—控制器。Swing的UI类,临听Model对象的数据改变,即时进行重绘界面的工作。
5,Swing的MVC,为了避免将有紧密耦合关系的视图与控制程序分割开来,需要将视图和控制器协调起来,每个组件的协调部分叫该组件的UI代表。这样MVC体系结构就被修改了MUI体系结构。
分享到:
相关推荐
Java Swing MVC设计模式与分层思想在自助订餐系统中的应用 Java Swing 是Java平台上的一个图形用户界面(GUI)工具包,它为开发者提供了一系列组件来构建桌面应用程序。在这个自助订餐系统中,开发人员利用Swing...
该Java Swing和MySQL桌面应用程序是基于MVC(Model-View-Controller)设计模式构建的,这是一种广泛用于软件工程的架构模式,特别是在GUI应用中。它将应用分为三个主要部分:模型,视图和控制器,以实现更好的代码...
在软件开发领域,Model-View-Controller(MVC)模式是一种广泛应用的设计模式,尤其在构建用户界面时。这种模式将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller),旨在提高代码的可...
### J2EE体系结构及其主要设计模式 #### J2EE体系结构 **1.1 J2EE产生前提** 随着企业应用系统的不断复杂化以及分布式应用程序的需求增加,传统的开发方式已经无法满足新的需求。例如,当应用程序需要跨越多个...
Swing是在AWT(Abstract Window Toolkit)基础上发展起来的,因为AWT在功能和性能上存在局限性,如缺少某些特性,如剪贴板支持、键盘导航等,以及基于同位体的体系结构导致的问题。Swing组件主要为轻量级组件,不...
2. **组件体系结构**:SWING组件基于Java的MVC(Model-View-Controller)设计模式,使得组件的逻辑、表示和数据可以分离,有利于代码的维护和扩展。 3. **基本组件**:书中会详细介绍如JButton、JLabel、JTextField...
4. **模型-视图-控制器(MVC)模式**:讨论SWING如何遵循MVC设计模式,使得代码结构清晰,易于维护。 5. **对话框和文件选择器**:讲解JOptionPane和JFileChooser的用法,用于弹出警告、确认、输入对话框以及打开和...
1. **Swing基础**:讲解了Swing的基本概念,包括组件体系结构,如JFrame、JPanel、JButton等基本组件的用法,以及容器管理器如FlowLayout、BorderLayout、GridLayout和GridBagLayout。 2. **事件处理**:Swing中的...
- 基于同位体的体系结构存在严重缺陷; - 事件处理模型基于继承,不够灵活。 - **Swing的优势**: - 100%纯Java实现,不依赖于本地代码,这意味着Swing组件在不同的操作系统上表现一致; - 使用MVC设计模式,将...
此外,Swing还提供了许多高级特性,如国际化支持、可扩展的组件体系结构以及可自定义的外观(LookAndFeel)。 总的来说,Swing界面设计是一个涵盖广泛的主题,包括组件的使用、事件处理和布局管理。通过深入学习和...
更为严重的是,AWT的一些设计决策限制了其进一步发展,如基于同位体的体系结构导致其难以适应面向对象编程中的继承机制以及复杂的事件模型。 这些局限性催生了Swing的诞生。Swing作为AWT的替代品,旨在解决这些问题...
1. **组件体系结构**: Swing组件基于MVC(Model-View-Controller)设计模式,允许开发者分离数据模型、视图显示和用户交互逻辑。例如,JTable组件的模型可以独立于其显示和用户交互进行管理。 2. **容器与布局...
2. **组件体系结构**: Swing组件基于JComponent类,它是AWT Component类的子类。JComponent类提供了事件处理、定制外观和行为的能力。例如,JButton、JLabel、JFrame、JPanel等都是JComponent的子类。 3. **布局...
Java学习体系结构是一个全面的指南,旨在帮助初学者掌握Java编程技能,并逐步深入到JavaEE应用开发。以下是对各个知识点的详细说明: 1. **JavaSE基础**:这是学习Java的第一步,包括JDK的安装,编写HelloWorld程序...
除此之外,Swing还提供了许多高级特性,如拖放功能、内置的对话框(如JOptionPane)、以及可扩展的组件体系结构。Swing应用程序可以通过LookAndFeel API来改变其外观,使其看起来更接近特定操作系统的原生风格。 总...
- **架构缺陷**:AWT采用了基于继承和同位体(Peer)的体系结构,这导致了组件间的耦合性较高,不利于组件的复用和扩展。 - **外观依赖**:AWT组件的外观严重依赖于底层操作系统的样式,这意味着开发者很难在不同平台...
1. **组件体系结构**: Swing组件基于Java AWT(Abstract Window Toolkit)之上,但比AWT更加轻量级。Swing组件是完全由Java实现的,因此它们在所有平台上都有一致的外观和行为。 2. **组件(Components)**: ...
- **组件体系结构**:Swing组件基于轻量级/重型组件模型,这意味着它们大部分在Java虚拟机中运行,但可与操作系统进行必要的交互。 - **顶级容器**:JFrame、JApplet和JDialog是主要的顶级容器,它们是构建用户...