Java语言程序设计(第二版)电子教案贾振华 第11章 图形用户界面设计.ppt
文本预览下载声明
图形用户界面设计 第11章 目标 GUI相关概念 布局管理器 事件处理 常用Swing组件 11.1.1 GUI包和简单GUI程序2-1 1.java.awt包 称为抽象窗口工具集AWT(Abstract Window Toolkit),是使用Java进行GUI设计的基础。 2.javax.swing包 Swing组件存放在javax.swing包中。几乎所有AWT组件对应有新功能更强的Swing组件。另外还加入了一些全新的组件。Swing组件在名称上前面多了一个字母“J” 。 11.1.1 GUI包和简单GUI程序2-2 3.设置GUI应用程序的流程: (1)引用需要的包和类。 (2)设置一个顶层的容器。 (3)根据需要为容器设置布局管理器或使用默认布局管理器。 (4)将组件添加到容器内,位置自行设计。 (5)为响应事件的组件编写事件处理代码。 11.1.2 容器、组件、布局和观感 1.容器和组件 组件是可以用图形化的方式显示在屏幕上并能够与用户进行交互的对象。 容器是一种特殊的组件,一种能够容纳其他组件或容器的组件。 2.布局管理器 为了使图形用户界面具有良好的平台无关性,提供了专门用来管理组件在容器中的布局的工具。 3.观感 决定swing应用程序的外观。 11.2 布局管理器 Java中的布局类型包括以下几种: FlowLayout(流式布局) BorderLayout (边界布局) GridLayout(网格布局) CardLayout (卡片布局) GridBagLayout(网格包布局) 11.2.1 FlowLayout布局管理器 FlowLayout的构造函数有: FlowLayout( ):生成一个默认的流式布局 FlowLayout(int alignment):可以设定每一行组件的对齐方式 FlowLayout(int alignment,int horz,int vert):可以设定组件间的水平和垂直距离 Applet和面板的缺省布局 组件从左上角开始按从左到右、从上到下的方式排列 11.2.2 BorderLayout布局管理器 下面是BorderLayout所定义的构造函数: - BorderLayout( ):生成默认的边界布局 - BorderLayout(int horz,int vert): 可以设定组件间的水平和垂直距离 窗口、框架和对话框等的缺省布局 组件被置于容器的北、南、东、西或中间位置 11.2.3 GridLayout布局管理器 GridLayout的构造函数如下所示: -? GridLayout():生成一个单列的网格布局 - GridLayout(int row,int col):生成一个设定行数和列数的网格布局 - GridLayout(int row,int col,int horz,int vert):可以设置组件之间的水平和垂直间隔 用于将容器区域划分为一个矩形网格 组件按行和列排列 11.2.4 CardLayout布局管理器 可存储几个不同的布局。 每个布局就像是一个卡片组中的一张卡片。 在一个给定的时间总会有一张卡片在顶层。 卡片通常为一个 Panel 对象。 每当需要许多面板切换,而每个面板需要显示为不同布局时,可以使用卡片布局。 11.2.5 GridBagLayout布局管理器 通过使用以下语法容器可获得 GridBagLayout: GridBagLayout gb=new GridBagLayout(); ContainerName.setLayout(gb); 要使用此布局,必须提供各组件的大小和布局等信息。 GridBagConstraints 类中包含 GridBagLayout 类用来定位及调整组件大小所需的全部信息。 组件大小不必相同 组件按行和列排列 放置顺序不一定为从左至右和由上至下 GridBagConstraints 类 2-1 GridBagConstraints 类2-2 11.2.6 swing布局管理器 1. BoxLayout布局管理器 按照从上到下(即Y轴)或者从左到右(即X轴)的顺序来依次排列组件。 2.ScrollPaneLayout布局管理器 是JScrollPane中的内置布局管理器,所以不需要单独创建,会自动设置。 11.2.7 Null布局管理器 在某些情况下,用户不想使用布局管理器,需要自己设置组件的位置和大小,这时应取消容器的布局管理器,然后再进行设置,否则用户自定义设置将会被布局管理器覆盖。取消布局管理器的方法是: setLayout(null); 用户使用se
显示全部