图形
- 格式:docx
- 大小:55.94 KB
- 文档页数:15
图形的变换
图形的变换是指将一个图形经过一系列操作,变换为另外
一个图形的过程。
常见的图形变换包括平移、旋转、缩放
和翻转等。
1. 平移:平移是指将图形沿着一个方向移动一定的距离。
平移后的图形与原图形形状完全相同,只是位置发生了改变。
2. 旋转:旋转是指将图形绕着一个固定点旋转一定的角度。
旋转后的图形保持原来的形状,只是方向或位置发生了改变。
3. 缩放:缩放是指按照一定的比例改变图形的大小。
缩放
后的图形与原图形形状相似,只是大小发生了改变。
4. 翻转:翻转是指将图形沿着某个轴对称翻转。
翻转后的
图形与原图形形状完全相同,只是左右或上下发生了改变。
图形变换在几何学、计算机图形学和计算机视觉等领域中有广泛的应用。
通过对图形进行变换,可以实现图形的组合、变形和动画效果等。
一.公式:1.长方形:周长=(长+宽)×2——【长=周长÷2-宽;宽=周长÷2-长】字母公式:C=(a+b)×2面积=长×宽字母公式:S=ab2.正方形:周长=边长×4字母公式:C=4a面积=边长×边长字母公式:S=a3.平行四边形的面积=底×高字母公式: S=ah4.三角形的面积=底×高÷2 ——【底=面积×2÷高;高=面积×2÷底】字母公式: S=ah÷25.梯形的面积=(上底+下底)×高÷2字母公式: S=(a+b)h÷2【上底=面积×2÷高-下底,下底=面积×2÷高-上底;高=面积×2÷(上底+下底)】二.平行四边形面积公式推导:剪拼、平移1.三角形面积公式推导:旋转平行四边形可以转化成一个长方形;两个完全一样的三角形可以拼成一个平行四边形,长方形的长相当于平行四边形的底;平行四边形的底相当于三角形的底;长方形的宽相当于平行四边形的高;平行四边形的高相当于三角形的高;长方形的面积等于平行四边形的面积,平行四边形的面积等于三角形面积的2倍,因为长方形面积=长×宽,所以平行四边形面积=底×高。
因为平行四边形面积=底×高,所以三角形面积=底×高÷22.梯形面积公式推导:旋转两个完全一样的梯形可以拼成一个平行四边形,平行四边形的底相当于梯形的上下底之和;平行四边形的高相当于梯形的高;平行四边形面积等于梯形面积的2倍,因为平行四边形面积=底×高,所以梯形面积=(上底+下底)×高÷2 等底等高的平行四边形面积相等;等底等高的三角形面积相等;等底等高的平行四边形面积是三角形面积的2倍。
长方形框架拉成平行四边形,周长不变,面积变小。
图形分类知识点总结一、基本图形的分类1.点、线、面的分类在几何学中,点、线、面是最基本的图形,它们是构成复杂图形的基本元素。
根据不同的特征,可以将点、线、面进一步分类。
(1)点点是没有长度、宽度和高度的,只有位置的图形。
根据点的位置,可以将点分为确定点和不确定点。
- 确定点:指在一个平面上确定的点,其位置是确定的,常用字母表示如点A、点B等。
- 不确定点:指在一个范围内或平面外的点,其位置不确定,通常用大写字母P、Q等表示。
(2)线线是由点组成的,没有宽度,但有长度的图形。
根据线的位置和特征,可以将线分为不同类别。
- 直线:在平面上有无限长度的线段称为直线,用两个点A、B表示,也可以用一对平行线上的两个点A、B表示。
直线可以延伸到无穷远,但无始无终。
- 射线:源自一个端点,沿着一定方向无限延伸的直线段称为射线,用这个端点和射线上的另一点唯一确定一个射线。
- 线段:两个端点A、B之间的线段称为线段,用AB表示,线段只有确定的长度。
(3)面面是有长度和宽度,但没有厚度的图形。
根据面的形状和性质,可以将面分为不同类型。
- 几何图形:平面上有形状和大小的图形称为几何图形,例如:三角形、矩形、圆等。
- 多边形:由三条以上的线段组成的封闭曲线称为多边形,例如:三角形、四边形、五边形等。
- 几何体:由面组成的实体称为几何体,例如:立方体、球体、圆柱体等。
二、二维图形的分类1.点、线、面的特征在二维图形中,点、线、面具有不同的特征和性质。
(1)点的特征- 位置唯一:一个点在平面上的位置是唯一确定的。
- 唯一性:一个点在平面上不可能有重复或多个。
(2)线的特征- 直线的特征:直线是由无数个点组成的,没有起点和终点,长度无限。
- 射线的特征:射线有一个起点,无限延伸,有向的。
- 线段的特征:线段有两个端点,有一定长度。
(3)面的特征- 形状:面的形状有多种,可以是凸多边形、凹多边形、正多边形等。
- 面积:面积是衡量面大小的指标,不同形状的面积计算方法也不同。
生活中的数学图形
生活中的数学图形无处不在,它们不仅存在于数学课本中,更融入到我们的日常生活中。
从简单的圆形、方形,到复杂的椭圆、多边形,每一种数学图形都在我们的生活中扮演着重要的角色。
首先,让我们来看看圆形。
圆形是一个无限的形状,它代表着完美和无限。
在我们的生活中,圆形常常出现在我们的餐桌上,比如饼干、饼干和披萨。
此外,圆形也出现在我们的生活用品中,比如杯子、碗和盘子。
圆形的设计给人一种安宁和和谐的感觉,它让我们感到舒适和放松。
其次,方形也是我们生活中常见的数学图形之一。
方形代表着稳定和平衡,它常常出现在建筑物、家具和装饰品中。
比如我们的房屋、书桌、电视机和画框都是方形的。
方形的设计给人一种整洁和有序的感觉,它让我们感到安全和稳定。
除了圆形和方形,椭圆和多边形也在我们的生活中扮演着重要的角色。
比如椭圆形的设计常常出现在手表、眼镜和餐具中;而多边形则出现在建筑物、装饰品和艺术品中。
这些数学图形的设计给人一种美感和艺术感,它们丰富了我们的生活,让我们的生活更加多彩和丰富。
总之,生活中的数学图形无处不在,它们不仅给我们带来美感和艺术感,更让我们的生活更加有序和稳定。
让我们珍惜生活中的每一个数学图形,让它们成为我们生活的一部分,让我们的生活更加美好和丰富。
空间图形空间图形是指在三维空间中展现出来的图形形态,可以是立体的、平面的或是曲面的。
在我们的日常生活中,空间图形无处不在,从建筑物的外形、家居装饰、车辆设计到艺术作品等,都展示了不同形式的空间图形。
空间图形不仅仅是几何形状的简单堆叠,更融入了艺术、设计和工程等多种元素,展现出丰富多彩的面貌。
空间图形的分类立体图形立体图形通常是指具有三维形态的图形,如立方体、圆柱体、球体等。
立体图形在空间中有长、宽、高等三个方向,能够展现出真实的体积和形态。
在建筑设计中,设计师常常会运用各种立体图形来呈现出丰富的建筑风格,如金字塔形状、弧形结构等,为建筑增添了独特的美感和动态感。
平面图形平面图形是指在二维平面上展现出来的图形,如圆、三角形、正方形等。
虽然平面图形只有两个维度,但设计者可以通过不同的排列组合和配色等手法,使平面图形呈现出多样化的美感和表现力。
在平面设计师,设计师们常常运用各种平面图形来设计海报、名片、包装等物件,展现出简洁、清晰、美观的视觉效果。
曲面图形曲面图形是在空间中呈现出曲折、弯曲形态的图形,如螺旋线、双曲线等。
曲面图形具有较为复杂的形态和结构,常常需要工程师和设计师们通过计算机辅助设计软件来完成设计和建模。
曲面图形在产品设计和艺术创作中有着广泛的应用,如汽车外形设计、雕塑艺术等,展现出独特的美感和立体感。
空间图形在设计中的应用空间图形在设计中扮演着重要的角色,既可以美化设计作品,又可以增加设计的立体感和动态感。
设计师们通过合理运用空间图形,可以使设计作品更具吸引力和表现力。
以下是空间图形在设计中的一些应用场景:建筑设计在建筑设计中,设计师们常常会运用各种立体图形来打造建筑的外观和内部结构。
通过合理运用立体图形的比例、形态和结构,可以使建筑更加稳固、美观和别具一格。
室内设计在室内设计中,设计师们运用平面和立体图形打造出空间的布局和装饰,如地板的图案,墙面的图案等。
不同的空间图形可以为室内空间增添活力和层次感。
图形的规律总结图形的规律可以是形状或者图案的重复、变化、对称等。
对于一些特定的图形,我们可以通过观察和推理来找出它们的规律,并用数学的方式描述出来。
在这篇文章中,我将总结一些常见的图形规律,并且介绍如何用数学方法来描述它们。
首先,我们来看一些常见的图形规律。
对于一些简单的几何图形,如正方形、矩形和圆形,它们的规律通常是很明显的。
例如,正方形的四条边相等且相互平行,内角都是直角;矩形的对边相等且相互平行,内角仍然是直角;圆形的周长与直径之间有一个固定的比例关系,即π(pi)。
这些规律可以通过观察和测量来确定。
另一个常见的图形规律是图形的对称性。
对称性是指图形可以被分成两个相互对称的部分。
例如,正方形和圆形都具有对称性,因为它们可以通过某条轴线进行折叠,两边完全一致。
而心形和星形则没有对称性,因为它们无法通过任何轴线折叠成两部分。
对称性是一种十分有趣和重要的图形规律,它不仅存在于几何图形中,也存在于自然界中的很多物体和生物体中。
另一种常见的图形规律是图形的重复性。
重复性是指图形中某些元素的不断重复出现。
例如,螺旋线就是一个具有重复性的图形,其中螺旋的形状和方向不断重复出现。
由于图形的重复性,我们可以用一些简单的数学方法来描述它们。
例如,我们可以用数列来描述螺旋线中每个点的坐标,从而得到一个数学模型。
除了上述的常见图形规律外,还有一些更复杂的图形规律存在。
例如,菲波那切数列中的每个数字都是前两个数字的和。
这个数列正是菲波那切螺旋的边长与半径之比。
这个规律的数学描述为:Fn = Fn-1 + Fn-2,其中n>2,Fi表示第i个菲波那切数。
这个规律不仅在螺旋线中存在,还在数学、自然科学、金融等领域中有广泛的应用。
事实上,这个规律是无穷多级的,即每个数字都是前两个数字的和,这使得这个数列有一些奇特的性质。
除了菲波那切数列,还有其他一些数列和图形规律有着类似的特点。
例如,斐波那契数列中的每个数字都是前两个数字的和。
立体图形怎么画立体图形是由三维空间中的几何体构成的,具有长度、宽度和高度三个方向。
常见的立体图形有立方体、长方体、球体、圆锥体、圆柱体等。
在绘制立体图形时,需要遵循一定的规律和技巧,以获得更加真实、精确和美观的效果。
下面将介绍如何绘制常见的立体图形,并提供相关的绘图技巧和实例。
1.立方体的绘制立方体是一种六面体,每个面都是一个正方形。
在绘制立方体时,需要先画定位线,然后绘制正方形的平面,再将他们合成一个六面体。
(1)先画出一个正方形,作为立方体的底面,在底面四个顶点处描绘四个边向上的垂直线,这些线应高出底面边的长度,相交处即为顶部的四个点。
(2)连接底面和顶部,从每个底面上端平行线向上连接,然后向下连接到相应的垂直线,再连接相邻的线段,即得到了一个完整的立方体。
绘制立方体时需要注意以下几点:(1)定位线和平面的尺寸应该相同,以确保立方体的比例正确。
(2)在制作六个正方形时,要保证它们的边缘互相平行,这有助于提高图形的准确性。
(3)在绘制各个面时,应遵循透视原理,即远离我们的面会缩小,而靠近我们的面会增大。
2.长方体的绘制长方体是一种六面体,由两个平行的长方形作为顶部和底部,以及四个矩形作为侧面组成。
与立方体类似,绘制长方体时也需要先绘制定位线和平面。
(1)确定长方体的长度、宽度和高度,以此在画面上虚构出一个长方体的框架。
(2)在底面四个顶点处描绘四个边向上的垂直线,这些线应高出底面边的长度,相交处即为顶部的四个点。
(3)连接底面和顶部,从每个底面上端平行线向上连接,然后向下连接到相应的垂直线,再连接相邻的线段,即得到了一个完整的长方体。
绘制长方体时需要注意以下几点:(1)与立方体相同,定位线和平面的尺寸应该相同,以确保长方体的比例正确。
(2)在制作顶部和底部的两个长方形时,要确保它们的边缘互相平行,这有助于提高图形的准确性。
(3)在绘制矩形时,应遵循透视原理,以确保各个侧面的比例正确。
3.球体的绘制球体是一种三维圆形体,由无数平行的圆形组成,可以绘制出不同的大小和形状。
图形的特征的概念图形的特征指的是图形所具有的独特的属性和性质,在描述和分析图形时,我们可以从多个方面去观察和研究图形的特征。
通过理解图形的特征,我们能够更好地认识和理解图形,并能够运用这些特征来解决与图形相关的问题。
下面我将从几个方面介绍图形的特征。
首先,图形的形状是图形的一个重要特征。
形状是指图形的外形和轮廓,它可以用来区分不同的图形。
图形可以分为点、线、面。
点是一个没有大小和形状的位置,线是由一系列点连接而成的,具有长度但没有宽度,而面是由一系列相连的线所围成的,具有长度和宽度且能够封闭。
常见的图形形状有圆形、三角形、正方形、长方形等,它们具有不同的边和角的特征,因此在描述和研究图形时,我们可以通过观察和分析图形的形状来了解它们的特征。
其次,图形的大小是图形的另一个重要特征。
大小是指图形的尺寸和范围,通常可以用长度、面积或体积来表示。
对于二维图形,我们可以用长度和面积来比较和描述不同的图形。
对于三维图形,我们可以用长度、面积和体积来比较和描述不同的图形。
图形的大小可以用具体的数值来表示,例如,一个正方形的边长为3厘米,一个圆的半径为5厘米等。
通过了解图形的大小特征,我们可以进行图形的比较和测量,并能够运用这些特征来解决与图形大小相关的问题。
第三,图形的对称性是图形的另一个重要特征。
对称性是指图形中存在的一种平衡和对称的关系,其中一部分与另一部分相对称。
对称可以分为轴对称和中心对称两种。
轴对称是指图形中存在一个轴,使得图形沿着该轴对称,例如一个等边三角形就是轴对称的。
中心对称是指图形中存在一个中心点,使得图形关于该中心点对称,例如一个正方形就是中心对称的。
图形的对称性可以帮助我们更好地理解和分析图形,在数学和几何学中有着重要的应用。
第四,图形的位置是图形的另一个重要特征。
位置是指图形在空间中的相对位置和方位,可以用坐标来表示。
对于二维图形,我们可以用平面直角坐标系或极坐标系来描述图形的位置。
对于三维图形,我们可以用空间直角坐标系来描述图形的位置。
图形构成知识点总结图形构成是视觉艺术中的基本概念之一。
它涉及到图形的形状、大小、结构、比例、颜色、纹理、明暗和空间等方面,是构成图像的基本要素。
图形构成在绘画、雕塑、设计和摄影等艺术形式中都有重要的作用。
下面我们将介绍图形构成的基本知识点,帮助大家更好地理解和运用图形构成在艺术创作中的重要性。
一、图形的形状1. 点、线、面:图形的最基本元素是点、线和面。
点是没有维度的,仅有位置关系的最小单位;线是由无数个点组成的,能构成各种形状;面是由无数条线组成的,是一个封闭的形状。
在艺术创作中,艺术家可以通过点、线和面来表现各种图形构成。
2. 几何图形:几何图形包括圆、三角形、正方形、长方形、梯形、菱形、五边形、六边形、弧线、曲线等。
这些几何图形都有着独特的形状特征,可以通过它们进行各种组合和变形,构成丰富多彩的图形结构。
3. 非几何图形:非几何图形指的是形状不规则的图形,如自然界中的各种有机形态、人物形象、动物形象等。
这些非几何图形在艺术创作中也具有重要作用,可以通过它们来表达生动的形象和情感。
二、大小和比例1. 大小:大小是指图形在空间中的尺寸大小。
在艺术表现中,大小的变化可以产生距离和关系的感觉,通过大小的对比来表达物体的远近、深浅和透视效果。
2. 比例:比例是指图形中各部分之间的大小关系。
艺术家可以通过比例的变化来表达对比和平衡的美感,从而构成丰富的图形结构。
三、结构和空间1. 结构:结构是指图形中各个部分之间的相互关系和组织方式。
通过结构的安排,艺术家可以构成节奏感、动态感和稳定感,形成有机的整体结构。
2. 空间:空间是指图形在三维空间中的位置关系和立体感。
艺术家可以通过色彩、明暗和透视等手法来表现空间感,使图形具有立体感和空间感。
四、颜色和纹理1. 颜色:颜色是图形构成中的重要因素,不仅可以使图形更具表现力,还可以产生情感效果。
通过对颜色的运用,艺术家可以表现光影效果、氛围情感和艺术品味等。
2. 纹理:纹理是指图形表面的质感和纹理形态。
图形学知识点总结一、基本概念1. 图像:图像是由像素组成的二维矩阵,每个像素代表了图像中的一个点的位置和颜色信息。
图像可以是静态的,也可以是动态的。
静态图像通常是以位图或矢量图的形式存在,而动态图像则是由一系列静态图像组成的连续流。
2. 图形:图形通常是通过数学模型和算法来描述和生成的。
它不仅包括了图像,还包括了各种形状、几何对象和运动效果等。
3. 图形学:图形学是研究如何合成、生成、处理和显示图像和图形的学科。
它涉及到计算机图形学、计算机视觉、图像处理、模式识别和机器学习等多个领域。
4. 渲染:渲染是指通过光线追踪或光栅化等技术将三维场景转换为二维图像的过程。
它是图形学中最重要的技术之一,用于模拟真实光线的传播、遮挡和反射等物理效果。
5. 建模:建模是指通过数学模型或几何描述来表示和描述物体、场景和几何对象的过程。
它包括了三维建模和曲面建模等技术。
6. 可视化:可视化是指通过图像和图形来呈现和展示数据、信息和模型的过程。
它包括了科学可视化、信息可视化和虚拟现实等技术。
二、图形学原理1. 光栅化:光栅化是一种将连续的几何模型和图像转换为离散的像素和像素面片的过程。
它是实现图形显示和渲染的核心技术之一。
光栅化算法主要包括了扫描线填充算法、多边形填充算法和三角形光栅化算法等。
2. 光线追踪:光线追踪是一种通过模拟光线的传播、遮挡和反射等物理效果来生成真实感图像的技术。
它是实现高质量渲染的主要方法之一。
光线追踪算法主要包括了蒙特卡罗光线追踪、路径追踪和光线追踪加速算法等。
3. 几何变换:几何变换是一种通过矩阵变换来实现图形和几何模型的平移、旋转、缩放和变形等操作的技术。
它是实现图形编辑和模型建模的基本方法之一。
几何变换算法主要包括了仿射变换、欧拉角变换和四元数变换等。
4. 图像处理:图像处理是一种通过数字信号处理来实现图像的增强、分析、识别和理解等操作的技术。
它是实现图像编辑和计算机视觉的关键技术之一。
Java图形用户界面设计2008-1-5来源:Java教程人气:60110作为一个java程序员,从论坛上感受到使用Java 开发程序的人越来多,心中不免欣慰。
但是,同样是从论坛中,看到多数人提到Java 就以为是网络开发——不是这样的,Java 也可以开发应用程序,而且可以开发出漂亮的图形用户界面的应用程序,也就是Windows/XWindow 应用程序。
因此,我写下这篇文章,希望能带你进入Java 图形用户界面设计之门。
一. AWT 和SWINGAWT 和SWING 是Java 设计GUI 用户界面的基础。
与AWT 的重量级组件不同,Swing 中大部分是轻量级组件。
正是这个原因,Swing 几乎无所不能,不但有各式各样先进的组件,而且更为美观易用。
所以一开始使用AWT 的程序员很快就转向使用Swing 了。
那为什么AWT 组件没有消亡呢?因为Swing 是架构在AWT 之上的,没有AWT 就没有Swing。
所以程序员可以根据自己的习惯选择使用AWT 或者是Swing。
但是,最好不要二者混用——除开显示风格不同不说,还很可能造成层次 (Z-Order) 错乱,比如下例:/*** TestPanels.java* @author Fancy*/import javax.swing.*;import java.awt.*;public class TestPanels extends JFrame {public TestPanels() {setDefaultClo SEO peration(EXIT_ON_CLOSE);JPanel panel = new JPanel();for (int i = 0; i < 2; i++) {panel.add(new JButton("Button 00" + i));}JTextArea textArea = new JTextArea(5, 15);textArea.setLineWrap(true);JScrollPane scrollPane = new JScrollPane(textArea);getContentPane().add(panel, BorderLayout.NORTH);getContentPane().add(scrollPane, BorderLayout.CENTER);pack();}public static void main(String[] args) {TestPanels tp = new TestPanels();tp.show();}}运行这个程序,并用鼠标拖动那个名为“cover”的子窗口,我们会发现一个非常有趣的现象,如图:显然cover 子窗口是在controls 子窗口之上的,但是它只罩盖住了Swing Button,没有罩盖住 AWT Button。
再看一会儿,你是不是有这样一种感觉:Swing Button 是“画”上去的,而AWT Button 则是“贴”上去的。
这就是二者混用造成层次错乱的一个例子。
Swing 组件有美观、易用、组件量大等特点,也有缺点——使用 Swing 组件的程序通常会比使用AWT 组件的程序运行更慢。
但是大家都还是更喜欢用Swing 组件,原因何在?因为随着计算机硬件的升级,一点点速度已经不是问题。
相反的,用户更需要美观的用户界面,开发人员则更需要易用的开发组件。
——好,我这就来教你使用Swing 组件开发图形用户界面的Java 应用程序。
二. 框架、监听器和事件框架(Frame) 是Java 图形用户界面的基础,它就是我们通常所说的窗口,是Windows/XWindow 应用程序的典型特征。
说到Windows/XWindow,大家很轻易联想到“事件(Event) 驱动”。
Java 的图形用户界面正是事件驱动的,并且由各种各样的监听器(Listener) 负责捕捉各种事件。
假如我们需要对某一个组件的某种事件进行捕捉和处理时,就需要为其添加监听器。
比如,我们要在一个窗口(JFrame) 激活时改变它的标题,我们就需要为这个窗口(JFrame 对象) 添加一个可以监听到“激活窗口”这一事件的监听器——WindowListener。
怎么添加监听器呢?这通常由组件类提供的一个addXXXXXListener 的方法来完成。
比如 JFrame 就提供有addWindowListener 方法添加窗口监听器 (WindowListener)。
一个监听器经常不只监听一个事件,而是可以监听相关的多个事件。
比如WindowListener 除了监听窗口激活事件(windowActivate) 之外,还可以监听窗口关闭事件(windowClosing) 等。
那么这些事件怎么区分呢?就靠重载监听器类(Class) 的多个方法(Method) 了,监听器监听到某个事件后,会自动调用相关的方法。
我们只要重载这个方法,就可以处理相应的事件了。
不妨先看一个例子:/*** TestFrame.java* @author Fancy*/import javax.swing.*;import java.awt.event.*;public class TestFrame extends JFrame {PR ivate int counter = 0;public TestFrame() {/* 使用匿名类添加一个窗口监听器 */addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.out.println("Exit when Closed event");System.exit(0); //退出应用程序}public void windowActivated(WindowEvent e) {setTitle("Test Frame " + counter++); // 改变窗口标题}});setResizable(false); // 设置窗口为固定大小setSize(200, 150);}public static void main(String[] args) {TestFrame tf = new TestFrame();tf.show();}}这个例子中,我们设计了一个窗口类(public class TestFrame extends JFrame { ...),并且为这个窗口添加了一个窗口监听器(addWindowListener(new WindowAdapter() ...)。
而我们添加的这个窗口监听器主要监听了两个事件:窗口关闭(public void windowClosing(WindowEvent e) ...) 和窗口激活(public void windowActivated(WindowEvent e) ...)。
在窗口关闭事件中我们退出了整个应用程序(System.exit(0);),而在窗口激活事件中,我们改变了窗口的标题(setTitle("Test Frame " + counter++);)。
最后,我们在main 方法中显示了这窗口类的一个实例,运行得到下图所示的结果:这个程序的运行结果就是一个什么东西都没有加的框架,也就是一个空窗口。
那么,你知道显示一个窗口最主要的几句代码吗?不知道没关系,我来告诉你,显示一个窗口只需要做三件事:生成实例(对象) -> 设置大小-> 显示,相应的,就是下面的三句代码:JFrame frame = new JFrame("Frame's Title");frame.setSize(400, 300);frame.show();也许你会说:第一句的意思我清楚,第三句的意思我也明白,为什么一定要第二句呢?其实想想也就明白了,叫你画一个没法有大小的矩形你能画出来吗?不能。
同样,没有大小的窗口,怎么显示?所以我们需要用setSize(int width, int height) 方法为其设置大小。
我们还有另一种方法:用 JFrame 的pack() 方法让它自己适配一个大小。
pack() 在多数时候是令人满足的,但有时,它也会让你哭笑不得——多试试就知道了。
在 JFrame 中,我们使用addWindowListener 方法加入一个监听器WindowListener (addWindowListener(new WindowAdapter() ...) 去监听发生在JFrame 上的窗口事件。
WindowListener 是一个接口,在java.awt.event 这个包中,但是上例中好象并没有使用WindowListener,而是使用的WindowsAdapter 吧,这是怎么回事?WindowAdapter 是WindowsListener 接口的一个最简单的实现,也在包java.awt.event 中。
假如我们直接使用WindowListener 产生一个匿名类,需要实现它的每一个方法(一共 7 个)。
但WindowAdapter 作为WindowListener 最简单的实现,已经实现了它的每一个方法为空方法(即只包含空语句,或者说没有语句的方法)。
用WindowAdapter 就只需要重载可能用到的方法(上例中只有 2 个) 就行了,而不需要再去实现每一个方法。
优点显而易见——减少代码量。
在 JFrame 上发生的窗口事件(WindowEvent) 包括:windowActivated(WindowEvent e) 窗口得到焦点时触发windowClosed(WindowEvent e) 窗口关闭之后触发windowClosing(WindowEvent e) 窗口关闭时触发windowDeactivated(WindowEvent e) 窗口失去焦点时触发windowDeiconified(WindowEvent e)windowIconified(WindowEvent e)windowOpened(WindowEvent e) 窗口打开之后触发上例重载了其中两个方法。
假如在上例运行产生的窗口和另外一个应用程序窗口之间往返切换(在 Windows 操作系统中你可以使用Alt+Tab 进行切换)……试试看,你发现了什么?有没有现我们的示例窗口标题上的数字一直在增加,这便是在windowActivated 事件中setTitle("Test Frame " + counter++); 的功劳。