配色: 字号:
Java语言程序设计基础课件ppt第9章 第1讲
2022-08-19 | 阅:  转:  |  分享 
  
第9章GUI程序设计学习目标理解图形用户界面的设计原则能够创建图形用户界面熟悉图形用户界面相关的组件类、事件处理类和接口能够创建
多种组件和容器能够使用布局管理器理解动作事件、鼠标事件和键盘事件第一讲绘制简单图形界面图形用户界面概述GUI(Grap
hicsUserInterfaces)GUI界面由GUI组件构成,Java中有两套GUI组件类AWT组件(java.awt
包中)可移植性差,组件种类少,重型组件Swing组件(javax.swing包中)可移植性好,组件种类丰富,轻型组件图形类
图形类可以分为三组:容器类、组件类和辅助类。容器类:如JFrame、JPanel和JApplet等,用来包含其他组件。组件类
:如JButton、JTextField、JTextArea、JComboBox、JList、JRadioButton、JMenu
等,都是JComponent类的子类。辅助类:如Color、Font、FontMetrics、Dimension和LayoutM
anager等,是组件和容器用于绘制和放置对象的。GUI程序设计总体思路设计工作分两个阶段:设计并创建界面外观(画界面)实
现界面的交互功能(事件处理)构造简单的图形界面界面由GUI组件组成控制组件:组成界面的最小单位;容器组件:用于组织其他组件
的单元;构造界面的基本思路:先构造一个合适的容器;通过布局管理器规定容器中摆放组件的方式将组件(控制组件、其他容器组件)添
加到容器中。示例:SampleGUI.java创建框架框架是一个不被其它窗体所包含的独立的窗体,是编写图形化应用程序的最外层
容器。JFrame类是用来创建一个窗体的Swing组件。类似的AWT组件框架类是Frame。有时也称Swing组件为“J”组件
示例:TestFrame.java创建框架构造方法publicJFrame();创建无标题的框架publicJFra
me(Stringtitle);创建有标题的框架常用方法publicvoidsetSize(intwidth,in
theight)publicvoidsetVisible(booleanb)publicvoidsetDefaul
tCloseOperation(intoperation)JFrame.EXIT_ON_CLOSE练习创建一个400宽,3
00高的框架,标题为“MyFrame”。如果创建按钮的AWT组件类是Button,那么对应的Swing组件类是什么?添加组件
在容器中添加组件的方法:publicvoidadd(Componentcomp)Component是所有组件类的父类
框架是一种复合容器,它本身并不容纳组件,向框架添加组件实际上是添加到框架上的内容窗格中。示例:TestFrame.java框
架的其他常用方法publicContainergetContentPane()获取框架内容窗格的方法,Container是
所有容器类的父类publicsetLayout(LayoutManagermgr)为容器设置布局管理器的方法,其中Layo
utManager是所有布局管理器的父类构造图形界面的基本思路先使用容器类构造一个合适的容器;使用容器的setLayou
t方法为容器设置一个合适的布局管理器。通过容器的add方法在容器中添加组件(控制组件、其他容器组件)。练习创建并显示一个标题
为MyFrame、宽为400、高为300的框架。并在框架上从左到右摆放三个按钮“Button1”、“Button2”、“Butto
n3”布局管理器Java的布局管理器提供了一层抽象,自动把用户界面映射到所有的窗口系统。Java的GUI组件放在容器中放置
。这些GUI组件由容器的布局管理器来安排位置。在java.awt包中定义了五种基本的布局管理器:FlowLayout、Borde
rLayout、GridLayout、CardLayout、GridBagLayoutFlowLayoutFlowLayout
是最简单的布局管理器。它按添加组件的顺序由左到右将组件排列在容器中,一行排满后再排新的一行。示例:TestFlowLayout.
java构造方法:publicFlowLayout(intalign,inthGap,intvGap)public
FlowLayout(intalign)publicFlowLayout()练习将上一个练习改成按照右对齐的方式排列。
BorderLayoutBorderLayout将容器分成五部分:东区、南区、西区、北区、中央。示例:TestBorderLa
yout.java构造方法:publicBorderLayout(inthGap,intvGap)publicBor
derLayout()BorderLayout布局为BorderLayout的容器,添加组件方法:voidadd(Comp
onentcomp,intindex)index是取值为:BorderLayout.East,BorderLayout.S
outh,BorderLayout.West,BorderLayout.North或BorderLayout.Centerv
oidadd(Componentcomp)默认添加到中区BorderLayout注意:JFrame的内容窗格的默认布局
管理器是BorderLayout如果某个区域内没有添加组件,这个区域将被邻近区域占用练习编写一个程序,显示一个400×300
像素的框架,框架内容窗格的布局为BorderLayout布局,并将两个按钮“Button1”和“Button2”添加到东区和西区。
GridLayoutGridLayout根据构造方法定义的行数和列数以网格(矩阵)的形式排列组件,组件按添加的顺序从左到右排列
,一行排满另起一行。示例:TestGridLayout.java构造方法:publicGridLayout(introw
s,intcolumns,inthGap,intvGap)publicGridLayout(introws,intcolumns)publicGridLayout()练习显示一个400×300的框架,框架的内容窗格中按照3行4列摆放10个相同大小的按钮,按钮标题为“Component1”、“Component2”…按钮之间的间隔是5个像素。
献花(0)
+1
(本文系在羡智库原创)