北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.1)图形用户界面

Chapter7图形用户界面程序设计入门 学习目标: ■浏览简单的GUI组件 了解] ava gUi api层次结构 ■使用框架、面板和简单的GUI组件创建用户界面 ■理解布局管理器的作用 使用 Flow Layout、 Gridlayout、 Border Layout、 CardLayout BoXLayout和nu山布局在容器中设置组件的布局 使用 Color类和Font类指定颜色和字体 使用m).下了 使用 Graphics类中的绘图方法绘制字符串、直线、矩形、椭圆、 弧形、多边形等基本图形 使用 FontMetrics类居中显示字符串 创建一个在面板上显示信息的可复用组件 MessagePanel
Chapter 7 图形用户界面程序设计入门 ◼ 学习目标: ◼ 浏览简单的GUI组件 ◼ 了解Java GUI API层次结构 ◼ 使用框架、面板和简单的GUI组件创建用户界面 ◼ 理解布局管理器的作用 ◼ 使用FlowLayout、GridLayout、BorderLayout、CardLayout、 BoxLayout和null布局在容器中设置组件的布局 ◼ 使用Color类和Font类指定颜色和字体 ◼ 使用JPanels类来创建子容器 ◼ 使用paintComponent方法在面板上画图 ◼ 使用Graphics类中的绘图方法绘制字符串、直线、矩形、椭圆、 弧形、多边形等基本图形 ◼ 使用FontMetrics类居中显示字符串 ◼ 创建一个在面板上显示信息的可复用组件MessagePanel

引 到目前为止,我们只能使用对话框和命令窗口 来进行输入输出。这些做法不仅具有局限性, 而且很不方便。例如,要读入十个数字,必须 打开十个输入对话框。 从本章开始,将学习ava图形用户界面程序设 计。可以创建个性化的图形用户界面(GUI), 在同一用户界面上,既可以读取输入,又可以 显示输出 本章介绍 Java gu程序设计基础。具体讨论 GUI组件以及它们的关系,介绍容器和布局管 理器、颜色、字体、以及几何图形的绘制等
引言 ◼ 到目前为止,我们只能使用对话框和命令窗口 来进行输入输出。这些做法不仅具有局限性, 而且很不方便。例如,要读入十个数字,必须 打开十个输入对话框。 ◼ 从本章开始,将学习Java图形用户界面程序设 计。可以创建个性化的图形用户界面(GUI), 在同一用户界面上,既可以读取输入,又可以 显示输出。 ◼ 本章介绍Java GUI程序设计基础。具体讨论 GUI组件以及它们的关系,介绍容器和布局管 理器、颜色、字体、以及几何图形的绘制等

创建GUI对象 / Create a button with text OK JButton jbtok new JButton("OK") // Create a label with text "Enter your name: JLabel jlbIName new JLabel("Enter your name: )i abel Text Check Rad field Button Display GUI Components Button OK Enter your name: Type Name Here [ Bold O Red Red Green // Create a text field with text "Type Name Here JTextField jtfName new JTextField("Type Name Combo Here") / Create a check box with text bold CHeckbOx jchkBold new CHeckbOx("bold" )i / Create a radio button with text red JRadioButton jrbRed new RAdiobUtton("red")i // Create a combo box with choices red, green, and blue JComboBox icbocolor new JComboBox(new string []f"Red Green""Blue")
// Create a button with text OK 创建GUI对象 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"}); Button Label Text field Check Box Radio Button Combo Box

Swing vs AWT 为什么GU组件的类名都有前缀]呢? n刚引入Java的时候,图形组件存放在称为抽象窗口工具集 ( Abstract Window Toolkit,AWT)的库中。对Java运行的每 个平台,AWT组件通过它们各自的代理映射成平台特性的组件, 这些代理称为同位体,即需要调用操作系统提供的组件来完成工 作。这样会带来组件外观在不同的操作系统上可能有所不同,而 且也无法在Java程序中调整组件的属性等很多不足。 为了让用java创建的图形界面也能够跨平台,即在不同操作系统 中保持相同的外观,从JDK1.2版本开始引入 Swing组件,这些 Swing 组件位于 Javax. swing包中,成为JDK基础类库的一部分大多数 Swing组件是用纯Java语言编写而成的除了 java. awt. Window或 java. awt. Panel子类的组件外,不依赖本地操作系统的GUIr Swing组件可以跨平台运行独立于本地平台的 Swing组件被称为 轻量级组件而依赖于本地平台的AWT组件被称为重量级组件 为了区别 Swing组件类和AWT组件, Swing gui组件类的开头都 有前缀字母]。尽管]ava2仍然支持AWT组件,但是最好学习使 用 Swing组件编程,因为AWT组件终究要退出舞台
Swing vs. AWT ◼为什么GUI组件的类名都有前缀J呢? ◼刚引入Java的时候,图形组件存放在称为抽象窗口工具集 (Abstract Window Toolkit, AWT)的库中。对Java运行的每一 个平台,AWT组件通过它们各自的代理映射成平台特性的组件, 这些代理称为同位体,即需要调用操作系统提供的组件来完成工 作。这样会带来组件外观在不同的操作系统上可能有所不同,而 且也无法在Java程序中调整组件的属性等很多不足。 ◼为了让用java创建的图形界面也能够跨平台,即在不同操作系统 中保持相同的外观,从JDK1.2版本开始引入Swing组件,这些Swing 组件位于javax.swing包中,成为JDK基础类库的一部分 .大多数 Swing组件是用纯Java语言编写而成的,除了 java.awt.Window 或 java.awt.Panel 子类的组件外,不依赖本地操作系统的GUI, Swing组件可以跨平台运行.独立于本地平台的Swing组件被称为 轻量级组件,而依赖于本地平台的AWT组件被称为重量级组件. ◼为了区别Swing组件类和AWT组件,Swing GUI组件类的开头都 有前缀字母J。尽管Java 2仍然支持AWT组件,但是最好学习使 用Swing组件编程,因为AWT组件终究要退出舞台

GUI类层次结构图 Dimension Classes in the java.awt Layout manage Font Fontmetrics Object Color 匚Pa-K[ Applet Khi JApplet Graphics Component Container K Window KI Frame Jframe Dialog Kh JDialog JComponent in the javax. swing package
GUI 类层次结构图 Dimension Font FontMetrics Component Graphics Object Color Container Panel Applet Frame Dialog Window JComponent JApplet JFrame JDialog Swing Components in the javax.swing package Lightweight Heavyweight Classes in the java.awt package 1 LayoutManager *

容器类 GUI类可分成三组:容器类( container)、辅助类( helper)和 组件类( component) Dimension Classes in the java. awt Layout manager Font Font Metrics Object Color Panel Applet JApplet Graphics Component Container Window Frame KI JFrame Dialog Dial Swing Components 容器类能用来包含其他组件 COmponen JPanel the javax. swing package
容器类 Dimension Font FontMetrics Component Graphics Object Color Container Panel Applet Frame Dialog Window JComponent JApplet JFrame JDialog Swing Components in the javax.swing package Lightweight Heavyweight Classes in the java.awt package 1 LayoutManager * JPanel 容器类能用来包含其他组件 GUI类可分成三组:容器类(container)、辅助类(helper)和 组件类(component)

GUI辅助类 Dimension Classes in the java. awt Layout Manager heavyweight Font FontMetrics O Color 匚 Panel[Apk{ Japplet Graphi I Component K Container Window K Frame Jframe Dialog JDialog 辅助类不是 Component类的 opponet ar Swing Components in the javax. swing package 子类,它们用来描述GU组 件的属性,如图形环境、颜 色、字体以及大小 Lightweight
GUI 辅助类 Dimension Font FontMetrics Component Graphics Object Color Container Panel Applet Frame Dialog Window JComponent JApplet JFrame JDialog Swing Components in the javax.swing package Lightweight Heavyweight Classes in the java.awt package 1 LayoutManager * 辅助类不是 JPanel Component类的 子类,它们用来描述GUI组 件的属性,如图形环境、颜 色、字体以及大小

Swing gui组件 J Check BoxMenultem JMenultem KHJMenu abstract Butto Button J Radio Button Menuitem JToggleButton KhTICheckBox. JRadioButton Component JEditorPane] JTex Component KH JText Fiels画swde TextArea JLabel DList COmbo Box] JPanel JOptionPane] [ScrollBar JSlider] JTabbedPaneJSplitPanejLayeredPane SEparator[JScrollPane jRootPane Tool Bar JM menuBar PC opupMenu ile choose JColorChooser Tool JT JTable JTableheade Internal[ B Spinner
Swing GUI 组件 JMenuItem JCheckBoxMenuItem AbstractButton JComponent JMenu JRadioButtonMenuItem JToggleButton JCheckBox JRadioButton JComboBox JInternalFrame JLayeredPane JList JMenuBar JOptionPane JPopupMenu JProgressBar JFileChooser JScrollBar JSeparator JScrollPane JSplitPane JSlider JTabbedPane JTable JTableHeader JTextComponent JTextField JTextArea JToolBar JToolTip JTree JRootPane JPanel JPasswordField JColorChooser JLabel JEditorPane JSpinner JButton

AWT(Optional) AWTEvent Container Panel Applet Font Butto on window Kh Fr rame Fontmetrics Dialog KH FileDialog Text Field Obje Color c下 Textcomponer TextAre Graphics List Co Choice CheckBox Check BoxGroup Canvas Menu component Menuitem Menu Menu Bar Scrollbar
AWT (Optional) AWTEvent Font FontMetrics Component Graphics Object Color Canvas Button TextComponent Label List CheckBoxGroup CheckBox Choice Container Panel Applet Frame Dialog FileDialog Window TextField TextArea MenuComponent MenuItem MenuBar Menu Scrollbar LayoutManager

框架 Frames 要创建一个用户界面,需要创建一个框架或 applet来存放用户界面组件。 applet,后面章节 会读到,本章节介绍创建框架的过程
框架Frames ◼ 要创建一个用户界面,需要创建一个框架或 applet来存放用户界面组件。applet后面章节 会读到,本章节介绍创建框架的过程
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第1章 Java概述.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第2章 Java基本编程结构.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第3章 字符串和数组.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第4章 对象和类.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第5章 继承与多态.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第6章 异常处理.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第七章 图形编程.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第八章 Java Swing与事件处理.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第9章 Applet基础.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第10章 多线程.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第11章 输入输出流及文件.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第12章 Java的网络编程.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第2章 标识符、关键字和数据类型.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第3章 运算符、表达式和语句.ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第七章 文件系统(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第六章 存储管理(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第五章 处理机管理(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第一章 绪论(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第二章 作业管理和用户接口(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第三章 用户管理和配置管理(向勇).ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.2)事件驱动程序.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.3)创建图形用户界面.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.4)菜单、工具栏、对话框.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第1章 Java 语言入门.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第6章 异常处理.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第4章 对象和类.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第10章 JDBC链接数据库.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第11章 Java异常处理.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第12章 Java I/O处理.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)Java技术概览.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第1章 J ava开发工具及环境.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第2章 Java语言基础.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第3章 程序流程控制.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第4章 数组.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第5章 字符串操作.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第6章 容器类简介.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第7章 面向对象技术导论.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第8章 对象的初始化和清理.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第9章 多线程编程.ppt
- 清华大学:《数据结构》课程教学资源(练习答案)第一章答案.doc