java语言程序设计基础教程(中)ppt

上传人:tia****nde 文档编号:70629344 上传时间:2019-01-17 格式:PPT 页数:223 大小:658.31KB
返回 下载 相关 举报
java语言程序设计基础教程(中)ppt_第1页
第1页 / 共223页
java语言程序设计基础教程(中)ppt_第2页
第2页 / 共223页
java语言程序设计基础教程(中)ppt_第3页
第3页 / 共223页
java语言程序设计基础教程(中)ppt_第4页
第4页 / 共223页
java语言程序设计基础教程(中)ppt_第5页
第5页 / 共223页
点击查看更多>>
资源描述

《java语言程序设计基础教程(中)ppt》由会员分享,可在线阅读,更多相关《java语言程序设计基础教程(中)ppt(223页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计基础教程,第1章 Java 程序设计概述 第2章 Java基本的程序设计结构 第3章 类和对象 第4章 继承、接口和内部类 第5章 Java API 第6章 Java 程序设计概述 第7章 多线程 第8章 文件和流 第9章 异常处理 第10章 Java网络编程 第11章 Java Applet基础 第12章 常见数据结构的Java实现 第13章 Java数据库连接-JDBC 第14章 Java多媒体编程:图形、图像和声音,第6章 Java 程序设计概述,6.1 Java的GUI 6.2用AWT生成图形化用户界面 6.3常用容器 6.4布局管理器 6.5 AWT事件处理模型 6.

2、6 AWT常用组件,6.1 Java的GUI,图形用户界面(Graphics user interface,GUI)是指用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令、启动操作,并将系统运行的结果以图形方式显示给用户的技术。 目前Java主要提供了两个处理图形用户界面的类库:java.awt和javax.swing。,AWT:抽象窗口工具集(Abstract Windows Toolkit),由于Java代码可以在不同的系统平台运行,而不同平台的图形界面外观设计各有差异,所以Java程序的图形用户界面在不同的平台上可能出现不同的运行效果,其外观取决于具

3、体的平台,所以称AWT是一个抽象的工具集。,Swing:Swing是在AWT的基础上构建的,提供了比标准AWT组件更强大和灵活的功能。与AWT组件不同的是,Swing组件不是由特定的平台代码实现,而是纯粹的Java代码,因此能够实现与平台的无关(此类组件一般被称为轻量级组件)。,利用GUI类库设计和实现图形用户界面的工作主要有两个:一是应用的外观设计,即创建组成图形界面的各部件,指定其位置和属性关系,根据需要进行排列,从而构成完整的图形用户界面的物理外观;二是与用户的交互处理,包括定义图形用户界面的事件以及各部件对不同时间的响应处理。,6.2用AWT生成图形化用户界面,抽象窗口工具包AWT(A

4、bstract Window Toolkit)是 API为Java 程序提供的建立图形用户界面GUI(Graphics User Interface)工具集,AWT可用于Java的applet和applications中。它支持图形用户界面编程的功能包括:用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。,6.2.1 java.awt包,AWT类包含在java.awt包中,主要包括用户界面组件、事件处理模型、图形和图像工具、布局管理器等。Java.awt

5、包中的主要类及组件类的继承关系如图6-1所示。,6.2.2组件,Java的图形用户界面的最基本组成部分是组件(Component),组件是一个以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。 类java.awt.Component是许多组件类的父类,Component类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前景色和背景色、边界、可见性等,因此许多组件类也就继承了Component类的成员方法和成员变量,相应的成员方法如表6-1所示。,表6-1 Component类常用方法,

6、6.3 常用容器,容器java.awt.Container也是一个类,实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和容器。一个容器可以容纳多个组件,并使它们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面。所有的容器都可以通过add()方法向容器中添加组件。 有三种类型的常用容器:Frame、Panel、ScrollPane。,6.3.1 Frame,Frame类是Container类的间接子类。当需要一个窗口时,可使用Frame或其子类创建一个对象。窗口也是一个容器,可以向窗口添加组件。窗口默认地被系统添加到显

7、示器屏幕上,因此,不允许将一个窗口添加到另一个容器中。 Frame是顶级窗口,可以显示标题,重置大小。当Frame被关闭,将产生WindowEvent事件,Frame无法直接监听键盘输入事件。,【例6-1】使用Frame容器的例子。,import java.awt.*; public class ep6_1 extends Frame public static void main(String args) ep6_1 fr = new ep6_1(“Hello Out There!“); / 构造方法 fr.setSize(200, 200); / 设置Frame的大小,缺省为(0,0) f

8、r.setBackground(Color.red); / 设置Frame的背景,缺省为红色 fr.setVisible(true);/ 设置Frame为可见,缺省为不可见 public ep6_1(String str) super(str); / 调用父类的构造方法 ,一般要生成一个窗口,通常是用Window的子类Frame来进行实例化,而不是直接用到Window类。Frame的外观就像我们平常在windows系统下见到的窗口,有标题、边框、菜单、大小等等。每个Frame的对象实例化以后,都是没有大小和不可见的,因此必须调用setSize( )来设置大小,调用setVisible(true

9、)来设置该窗口为可见的。 另外,AWT在实际的运行过程中是调用所在平台的图形系统,因此同样的AWT程序在不同的操作系统平台下运行所看到的图形系统是不一样的。例如在windows下运行,则显示的窗口是windows风格的窗口;而在UNIX下运行时,则显示的是UNIX风格的窗口,6.3.2 Panel,java.awt包的Panel类是Container(容器)的子类,因此Panel类及其子类的实例也是一个容器,Panel型容器的默认布局是FlowLayout布局。Panel类创建的对象称为面板,经常在一个面板内添加若干个组件后,再把面板放到另一个容器里。 下面的例子6-2中有一个窗口,背景色设置

10、为红色,取消默认布局管理器,一个面板,设置面板的背景颜色为黄色,每个面板里添加两个按钮,再把面板添加到窗口中。,【例6-2】一个使用Panel容器的简单例子。,import java.awt.*; public class ep6_2 extends Frame public ep6_2(String str) super(str); public static void main(String args) ep6_2 fr = new ep6_2(“Frame with Panel“); Panel pan = new Panel(); fr.setSize(200, 200); fr.se

11、tBackground(Color.red); / 框架fr的背景颜色设置为红色 fr.setLayout(null); / 取消布局管理器 pan.setSize(100, 100); pan.setBackground(Color.yellow); / 设置面板pan的背景颜色为黄色 fr.add(pan); / 用add方法把面板pan添加到框架fr中 fr.setVisible(true); ,6.3.3 ScrollPane,java.awt包的ScrollPane类也是Container类的子类,因此该类创建的对象也是一个容器,称为滚动面板。可以把一个组件放到一个滚动面板中,然后通

12、过滚动挑来观察着个组件。与Panel创建的容器不同在于:ScrollPane带有滚动条,而且只能向滚动面板添加一个组件。所以,经常将一些组件添加到一个面板中,然后再把这个面板添加到滚动面板中。,ScrollPane有两个构造方法:,ScrollPane(); 创建一个具有滚动条面板,滚动条初始不可见,当添加的组件的可见范围大于滚动面板时,滚动条自动出现。 ScrollPane(int a); 创建新的滚动面板容器。参数a指定滚动条的初始状态。a有以下取值: SCROLLBARS_ALWAYS 指定无论滚动窗格和子组件各自大小如何,总是显示水平/垂直滚动条。 SCROLLBARS_AS_NEED

13、ED 指定只在子组件的大小超过了滚动窗格水平/垂直尺寸时显示水平/垂直滚动条。 SCROLLBARS_NEVER 指定无论滚动窗格和子组件各自大小如何,永不显示水平/垂直滚动条。,【例6-3】一个使用ScrollPane容器的例子。,import java.awt.*; import java.awt.event.*; class WindoTen extends Frame implements ActionListener Panel p; ScrollPane scrollpane; WindoTen() setLayout(new FlowLayout(); p = new Panel

14、(); scrollpane = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS); p.add(new Button(“one“); p.add(new Button(“two“); p.add(new Button(“three“); p.add(new Button(“four“); scrollpane.add(p); add(scrollpane); setBounds(60, 60, 200, 200); setVisible(true); validate(); public void actionPerformed(ActionEvent

15、 e) System.exit(0); ,public class ep6_3 public static void main(String args) new WindoTen(); ,6.4布局管理器,为了使我们生成的图形用户界面具有良好的平台无关性,实现跨平台的特性并且获得动态的布局效果,Java语言中,提供了布局管理器(LayoutManager)这个工具来管理组件在容器中的布局,如:排列顺序,组件的大小、位置,当窗口移动或调整大小后组件如何变化等,而不使用直接设置组件位置和大小的方式。 每个容器都有一个布局管理器,不同的布局管理器使用不同算法和策略,当容器需要对某个组件进行定位或判断

16、其大小尺寸时,就会调用其对应的布局管理器。容器可以通过选择不同的布局管理器来决定布局。,在程序中安排组件的位置和大小时,应该注意以下两点: 1容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java 语言提供的setLocation(),setSize(),setBounds() 等方法,则都会被布局管理器覆盖。 2如果用户确实需要亲自设置组件大小或位置,则应调用setLayout(null)方法取消该容器的布局管理器。 布局管理器主要包括:FlowLayout、BorderLayout、GridLayout、CardLayout、GridBagLayout。,【例6-4】一个设置布局管理器的例子。,import java.awt.*; public class ep6_4 private Frame f; private Button b1; private Button b

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号