12第12章图形用户界面程序设计入门.ppt
文本预览下载声明
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved. 0-13-148952-6 第12章 图形用户界面程序设计入门 学习目标 浏览简单的GUI组件 (§12.2). 描述 Java GUI 的API 层次结构 (§12.3). 使用框架、面板和简单的GUI组件创建用户界面 (§12.4). 理解布局管理器的作用 (§12.5). 使用 FlowLayout, GridLayout, 和 BorderLayout 布局管理器在容器中 设置组件的布局 (§12.5). 使用 Color 和 Font 类 (§12.6-12.7). 使用 JPanel 创建子容器 (§12.8). 使用 paintComponent 方法在面板上画图 (§12.9). 使用 Graphics 类中的绘图方法绘制字符串、直线、矩形、椭圆、弧形、多边形等 (§12.9). GUI 组件 // Create a button with text OK JButton jbtOK = new JButton(OK); ? // Create a label with text Enter your name: JLabel jlblName = new JLabel(Enter your name: ); ? // Create a text field with text Type Name Here JTextField jtfName = new JTextField(Type Name Here); ? // Create a check box with text bold JCheckBox jchkBold = new JCheckBox(Bold); ? // Create a radio button with text red JRadioButton jrbRed = new JRadioButton(Red); ? // Create a combo box with choices red, green, and blue JComboBox jcboColor = new JComboBox(new String[]{Red, Green, Blue}); Swing vs. AWT 为什么GUI组件的类名都有前缀J呢?为什么不用Button,而用JButton呢? 刚引入java的时候,图形组件存放于抽象窗口工具集(AWT)。 AWT 适合开发简单图形界面,对复杂的GUI项目不适用,因为它的解决方案非常适用于底层平台. 随着Java 2的发行, AWT 逐渐被更稳定、通用、灵活的库取代,即 Swing 组件库(Swing components). java.awt.Window 或 java.awt.Panel子类的组件必须使用具体平台上的本地GUI来绘制。 . 不依赖本地GUI的Swing 组件成为轻型组件,AWT组件称为重型组件 。 Swing GUI组件类的开都有前缀字母J。 GUI 程序所用类的层次结构图 Container 类 GUI 辅助类 Swing GUI 组件 核心组件 扩展组件 AWT 组件 框架Frames Frame 是不能包含在其它窗口内的窗口. 在java GUI 程序中,它是包含其他Swing用户界面组件的容器。 创建框架 在 Frame中添加组件 注 内容窗格( content pane)是 Container的一个子类 。 添加控件也可以使用以下语句: Container container = frame.getContentPane(); container.add(new JButton(OK)); 内容窗格伴随着JFrame对象的创建而创建的,getContentPane方法简单地返回该内容窗格的引用,可以使用这个引用访问内容窗格。 框架居中 布局管理器 Java的布局管理器提供了一层抽象,自动把用户界面映射到所有的窗口系统。 Java的GUI组件在容器中的位置由容器的布局管理器来安排。 使用 setLayout(LayoutManager) 方法在容器中设置布局管理器。 布局管理器种类 FlowLayout (Chapter 12) GridLayout (Chapter 12) BorderLayout (Chapter 12) 其他布局管理器将在下册介绍。 FlowLayout布局管理器 FlowLayout布局管理器按照添加的顺序,由左到右将
显示全部