9章 图形用户界面编程ppt课件.ppt





《9章 图形用户界面编程ppt课件.ppt》由会员分享,可在线阅读,更多相关《9章 图形用户界面编程ppt课件.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、9章 图形用户界面编程图形用户界面编程图形用户界面编程一、教学目的和要求:一、教学目的和要求:p1.熟悉熟悉Java中图形图像处理。中图形图像处理。p2.掌握掌握Java语言中进行用户图形界面设计时使用语言中进行用户图形界面设计时使用的基本组件、界面的布局管理及各种组件的事件监的基本组件、界面的布局管理及各种组件的事件监听处理。听处理。p3.了解界面设计的基本原则。了解界面设计的基本原则。 二、教学重点:二、教学重点: 1基本组件和类的使用。基本组件和类的使用。2布局设计。布局设计。3事件监控处理。事件监控处理。4了解界面设计的基本原则。了解界面设计的基本原则。5综合运用所学知识,设计优美、易
2、用的综合运用所学知识,设计优美、易用的图形界面。图形界面。 从AWT到Swing 从从AWT到到Swing:nAWT是是Swing的基础,的基础,Swing产生主要原因的是产生主要原因的是AWT不能满足图形化用户界面发展的需要。不能满足图形化用户界面发展的需要。 nSwing组件没有本地代码(组件没有本地代码(native code),不依),不依赖于操作系统平台的支持,这是它与赖于操作系统平台的支持,这是它与AWT组件的最组件的最大区别。大区别。nSwing在不同的平台上的表现都是一致的,比在不同的平台上的表现都是一致的,比AWT组件具有更强的可移植性和灵活性。组件具有更强的可移植性和灵活性
3、。 创建创建Java图形界面的程序类库主要有两个图形界面的程序类库主要有两个wAWTAbstract Window Toolkit由由16个个interface、88个个class、4个例外和个例外和1个错误组成个错误组成wSwing由由24个个interface、119个个class和和1个例外组成个例外组成图形界面(图形界面(AWT)首先从首先从java.awtjava.awt包的组件和容器类开始包的组件和容器类开始主要包含有构成图形用户界面各种要素的主要包含有构成图形用户界面各种要素的组件类组件类/Component/Component、形成界面形状和包容这些组件的形成界面形状和包容这些
4、组件的容器类容器类/Container/Container、影响组、影响组件和容器在界面上布局的件和容器在界面上布局的布局管理布局管理/Layout Manager/Layout Manager、事件事件处理类处理类和一些其它类,比如进行文字,色彩和图象处理的类和一些其它类,比如进行文字,色彩和图象处理的类等等1java.awt包包 (1)AWT是抽象窗口工具集是抽象窗口工具集Abstract Window Toolkit的缩写的缩写(2)java中的几个核心包之一:中的几个核心包之一:字体字体(Font)颜色颜色(Color)几何绘图几何绘图(Graphics)图像图像(Image) 标签标
5、签(Label)按钮按钮(Button)文本输入文本输入 (TextArea和和TextField)窗口窗口(Frame)菜单菜单(Menu)面板面板(Panel)对话框对话框(Dialog)其中窗口、面板、对话框等称之为容器其中窗口、面板、对话框等称之为容器(Container);图形界面(1)AWT的容器的容器/Container图形界面(3)可以在容器内放其它的组件可以在容器内放其它的组件容器本身也是一个组件容器本身也是一个组件按照子类按照子类“是是”父类的规父类的规则,容器的子类都是容器则,容器的子类都是容器AWT的构件的构件/Component图形界面(4)按照子类按照子类“是是”父
6、类的规则,父类的规则,组件的子类都是组件,包括容组件的子类都是组件,包括容器器import java.awt.*;public class WindowDemopublic static void main(String s)Window w = new Window(new Frame();w.setLocation(100, 100);w.setSize(200,200);w.setBackground(Color.black);w.show();图形界面(6)WindowWindow对象是一个没有对象是一个没有边框,没有菜单的窗口边框,没有菜单的窗口创建一个新窗口对象创建一个新窗口对象设
7、置新窗口对象的位置设置新窗口对象的位置设定新窗口对象的大小设定新窗口对象的大小显示新窗口对象显示新窗口对象1javax.swing包包随着随着java发展,发展,SUN公司提供了公司提供了swing组件组件swing组件占用的系统资源较少,视觉上比组件占用的系统资源较少,视觉上比AWT组件美观,跨组件美观,跨平台特性更好。平台特性更好。javax.swing组件称为轻重量级组件。组件称为轻重量级组件。大部分大部分javax.swing组件并不一定是继承自对应的组件并不一定是继承自对应的java.awt组组件。件。图形界面(图形界面(SWING)Swing框架框架Swing框架:框架:njava
8、x. swing包主要包含两种类型的组件:包主要包含两种类型的组件:w顶层容器组件(顶层容器组件(Top-Level Containers,包括,包括JFrame,JApplet,JDialog和和JWindow)w轻量级组件轻量级组件nSwing功能强大且复杂,与功能强大且复杂,与Swing组件相组件相关的类依功能分散在不同的关的类依功能分散在不同的package中中 .JFrame、JDialog、JApplet Swing的顶层容器:的顶层容器:nJFrame、JDialog 、 JApplet 和和JWindown未用纯未用纯Java实现的实现的Swing组件组件n是其它是其它Swin
9、g组件的源头,其余的组件的源头,其余的Swing组件必须依组件必须依附在这附在这4个组件之一上才能显示出来个组件之一上才能显示出来 内容面板内容面板 Content Pane:n不能直接向不能直接向Swing顶层容器添加组件顶层容器添加组件n应先获取容器的应先获取容器的Content Pane,然后将组件添加至,然后将组件添加至Content Panen获取内容面板可使用如下方法:容获取内容面板可使用如下方法:容器器.getContentPane()n添加组件的方法:添加组件的方法:add(组件组件)顶层容器顶层容器-JFrame JFramenSwing应用程序的窗口组件类,是应用程序的窗口
10、组件类,是Swing中最常使中最常使用的容器组件,可以添加其它容器和添加其它组件用的容器组件,可以添加其它容器和添加其它组件JFrame类构造方法:类构造方法:npublic JFrame()npublic JFrame(String Title)JFrame类常用方法:类常用方法:npublic Container getContentPane()npublic void setDefaultCloseOperation(int operation)框架框架(JFrame)类类 JFrame 是的子类是的子类在在Swing的组件中的组件中, JFrame 并不全是由并不全是由Java编写编写
11、的的n是一种与平台关系比较密切的组件是一种与平台关系比较密切的组件(Heavyweight component) | | | | |顶层容器顶层容器-JFrame 设置窗口一些方法设置窗口一些方法public void setSize(int width,int height) public void setVisible(boolean b) public void setTitle(String title) public void setIconImage(Image image) public void setBounds(int x,int y,int width,int heigh
12、t)public void pack() 顶层容器顶层容器-JFrame 得到窗口内容面板、添加组件和设置布局首先要获得到窗口内容面板、添加组件和设置布局首先要获取窗口内容面板然后设置内容面板的布局最后添加取窗口内容面板然后设置内容面板的布局最后添加组件组件public Container getContentPane()获取获取JFrame的内容面板的内容面板(Content Pane)组件可添加到该内容面板中。组件可添加到该内容面板中。public void add(Component comp, Object constraints)向内容面板中添加组件向内容面板中添加组件 public
13、 void setLayout(LayoutManager manager)设置内容面板的布局设置内容面板的布局顶层容器顶层容器-JApplet 参见例子参见例子MyApplet.java二、容器的布局二、容器的布局 面板类面板类javax.swing.JPanel可以可以 1、显示文字、显示文字 2、显示图像、显示图像 3、绘制图形、绘制图形图图 是是JPanel的类继承关系的类继承关系pubic JPanel()n创建一个缺省布局方式的面板。创建一个缺省布局方式的面板。n面板的缺省布局方式为流式布局面板的缺省布局方式为流式布局 二、容器的布局二、容器的布局 pubic Panel(Layo
14、utManager layout)n 创建一个指定布局方式创建一个指定布局方式layout的面板,布局方式有:的面板,布局方式有:n 边框布局边框布局(BorderLayout)n 网格布局网格布局(GridLayout)n 卡片布局卡片布局(CardLayout)n 网袋布局网袋布局(GridBagLayout)等。等。n见实例见实例UserPanel二、容器的布局二、容器的布局 分割窗口分割窗口JSplitPanepublic JSplitPane(int newOrientation, Component newLeftComponent, Component newRightCompo
15、nent)(1)第)第1个参数:个参数:nJSplitPane.HORIZONTAL_SPLIT:指明水平分:指明水平分割窗口。割窗口。nJSplitPane.VERTICAL_SPLIT:指明垂直分割窗:指明垂直分割窗口。口。(2)第)第2、3个参数个参数n水平分割时左边、右边的组件水平分割时左边、右边的组件n或垂直分割时上边、下边的组件。或垂直分割时上边、下边的组件。三、常用布局方式三、常用布局方式Layout 1FlowLayout布局布局各个组件从左到右、从上到下,依据容器的大小逐行在容各个组件从左到右、从上到下,依据容器的大小逐行在容器中顺序摆放。器中顺序摆放。JPanel类的默认布
16、局方式。类的默认布局方式。 (1)创建创建FlowLayout布局布局public FlowLayout( )按默认的居中方式放置组件。按默认的居中方式放置组件。public FlowLayout (int alignment) 参数参数alignment取值:取值:wFlowLayout.RIGHT(右对齐右对齐)wFlowLayout.CENTER(居中对齐居中对齐)wFlowLayout.LEFT(左对齐左对齐)。三、常用布局方式三、常用布局方式Layout public FlowLayout (int alignment, int horizontalgap; int vertical
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 9章 图形用户界面编程ppt课件 图形 用户界面 编程 ppt 课件

限制150内