带你走进图形用户界面编制 (三)

原创 2001年12月07日 11:32:00

 

今天我们讨论的话题可能感觉上理论性较强,所以就比较枯燥,不过你必须静下心来,如果你不能完全理解也不要灰心,在以后的实践中你会渐渐的理解这些东西。

首先讨论一下java中显示图形的原理:
    首先java采用了“模型-视图-控制器”(Model-View-Controller,MVC)的设计模式,
这涉及到了关于设计模式的问题,在这里我就部队设计模式进行扩展了,想必大家都知道那本经典书籍《Design Pattern: Elements of Reusable Object-Oriented Software》
如果你对这些还不是很了解,可以通过以后的应用慢慢体会,当然如果你有足够的时间,我还强烈建议你好好的研究一下设计模式。
    在MVC模式中实现了三个各自独立的类:
          模型(Model):保存内容
      视图(View):显示内容
          控制器(Controller):用于控制用户的输入
    从这个模式中可以看出:“模型”并没由用户界面(用户接口),只是负责保存内容;“视图”只是模型的显示,所以一个模型可以有多个视图;“控制器”负责用户的输入事件,比如鼠标的单击,然后决定改变视图或者模型。
    但是使用中,因为视图和控制器之间有依存关系,控制器的操作和视图的实现有着很强的依赖关系,所以,视图和控制器一般有一个复合对象表示,它使用一个控制器对应着一个视图。这样,MVC就变成了文档/视图结构,Sun称之为“分离模型结构(Separable Model architecture)”。Swing组件为可插入外观和感觉提供的工作方式是让一个组件的可视外观和界面对于用户就是一个称为UI代表的独立对象,这就是MVC模式中的视图+控制器部分。

然后再讨论一下组件的概念:
    窗口中的一些用户界面元素被java称之为组件,例如按钮、复选框和文本框等。那么,它是如何显示到窗口内的呢?
    首先,所有java.awt.Component类是一切组件的老祖先,它定义了所有组件的基本属
性和方法。
    然后,我们要提到的是一个Container(容器)的概念,它是Component的子类,其对
象可以包含其它组件。JFrame是一个Frame的子类,它和Compoment的关系可以用下图表示


    根据容器的特性我们在设计用户界面的过程其实是朝容器中添加组件。这可能是你无法理解的,不过你看了下面关于窗口的介绍你就会了解着一点。
    一个简单的JFrame帧(窗口)的结勾其实是十分复杂的,为了直观的表达我还是用一个图来显示


    其中contentPane对象对我们现在来说最重要的,因为我们一般在这里添加GUI组件,文本的显示和图形的绘制也是在这里完成。还有菜单也在应在这里完成。(至于其它几个对象我们会在以后的使用过程中讨论)

     好了今天就到这里了,明天我将向大家介绍向大家介绍如何向窗口区中添加GUI组件。
 
期待您的继续支持
kwaif@sina.com   

带你走进图形用户界面编制 (一)

  在编程初期我们接触了都是控制台程序,也是因为这个原因是很多初学者很没有成就感,面对漂亮的windows图形用户界面的诱惑,使许多人更愿意学习VB。  今天,我将学习图形用户界面的经验介绍给大家,采...
  • kwaif
  • kwaif
  • 2001年12月03日 08:22
  • 1129

带你走进图形用户界面编制 (二)

紧跟着上一节的思路我们先看一下一段代码:     import javax.swing.*;        class MyFrame extends JFrame      {      publi...
  • kwaif
  • kwaif
  • 2001年12月04日 09:37
  • 868

图文笔记,带你走进《未来简史》(6-10)

作者:@文曰小强(微信公众号:diaoxiazhangqiang) 整理:@一喵(作者已授权) 转载请注明出处。 家畜的诞生是人类的罪!《未来简史》笔记06       今天我们进入《未来简史...
  • xcat_1
  • xcat_1
  • 2017年05月03日 15:14
  • 1048

【文本挖掘学习交流】用Python带你走进神秘的“谍纸天眼”...

     近期热播的电视剧《楚乔传》即将迎来收尾,观众在网络中的讨论声一直高涨不减,尤其是对里面“谍纸天眼”的热情丝毫不亚于当年的“洪荒之力”。“谍纸天眼”的主要职能就是为国...
  • houpeng1215
  • houpeng1215
  • 2017年08月30日 18:32
  • 7925

图文笔记,带你走进《未来简史》(36-41)

作者:@文曰小强(微信公众号:diaoxiazhangqiang) 整理:@一喵(作者已授权) 转载请注明出处。 英脱欧、美大选的数据本质《未来简史》笔记36     上期语音...
  • xcat_1
  • xcat_1
  • 2017年05月03日 11:35
  • 1525

设计模式六大原则:开闭原则-带你走进梦幻西游(三)

转载请表明:http://blog.csdn.net/liulongling/article/details/51317701单一职责原则-带你走梦幻西游(一) 依赖倒置原则(二) 迪米特原则-带...
  • liulongling
  • liulongling
  • 2016年05月04日 20:04
  • 3523

《走进搜索引擎》第二版勘误

P195 第4行 q_1, q_1, ..., q_T 应该改为: q_1, q_2, ..., q_T P199 7.7.1节第一自然段 x_{1,1}^j, x_{1,2}^...
  • pennyliang
  • pennyliang
  • 2011年06月10日 13:07
  • 2438

[转贴]带你走进ASP.NET

第1章 ASP.NET概述   在微软的.NET还是Beta 1版的时候,就受到了开发人员的极大关注。随着正式版的发布,越来越多的人开始认识和了解它。相信你已经通过网络或者其它媒体了解到微软正在不遗余...
  • snaill
  • snaill
  • 2005年03月27日 06:57
  • 967

带你走进mybatis--快速入门

在SSH框架盛行的时代,ORM和持久层框架都不断响彻在耳边,今天小编就带领大家一起来认识另一种持久层框架; 一、基本概况 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。M...
  • YSC1123
  • YSC1123
  • 2016年03月03日 10:37
  • 2843

带你走进EJB--MDB

在之前的文章中我们介绍了带你走进EJB--JMS 和 带你走进EJB--JMS编程模型 对JMS有了初步的了解, 作为EJB系列的文章我们会继续对EJB相关的内容做进一步深的学习和了解....
  • jnqqls
  • jnqqls
  • 2013年08月31日 17:00
  • 3234
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:带你走进图形用户界面编制 (三)
举报原因:
原因补充:

(最多只允许输入30个字)