AWT图形用户界面.ppt

合集下载

第12章 AWT图形用户界面

第12章 AWT图形用户界面

2、下拉列表


下拉列表是用户十分熟悉的一个组件, 用户可以在下拉列表看到第一个选项和 它旁边的箭头按钮,当用户单击箭头按 钮时,选项列表打开。 java.awt包中的Choice类是专门用来建 立下拉列表的,即Choice创建的一个对 象就是一个下拉列表组件。
下拉列表


1.常用方法
(1)Choice()使用该构造方法创建下拉列表。 (2)public void add(String name)下拉列表调用 该方法可以增加一个名字是name的选项。 (3)public int getSelectedlndex0下拉列表调用该 方法可以返回当前下拉列表中被选中的选项的索 引,索引的起始值是0。 (4)public String getSelectedltem()下拉列表调 用该方法可以返回当前下拉列表中被选中的选项 的名字。
一、文字输入组件
AWT主要用来处理文字输入组件的类有文本框 (TextField)与文本区(TextArea),前者用来处 理单行文字,而后者则可以做多行文字的处理。 它们都继承Component类,也继承了它的方法
1、TextField创建文本框
1)TextField的构造方法 TextField():创建文本框 TextField(int columns)创建文本框,并设置文 本框的宽度可容纳columns个字符 TextField(String text):创建文本框,并以text 为默认的文字 TextField(String text,int length):创建文本框, 以text为默认的文字,并设置文本框的宽度可 容纳columns个字符



3)组件状态可以控制。

Java程序设计GUI 图形用户界面PPT 课件,Java学习和备课必备资料

Java程序设计GUI 图形用户界面PPT 课件,Java学习和备课必备资料
JLayeredPane和JRootPane。
7
9.1 Swing 简介
9.1.1 窗体组件 JFrame 9.1.2 对话框组件 JDialog 9.1.3 对话框组件 JOptionPane 9.1.4 中间容器 JPanel 与 JscrollPane 9.1.5 标签组件 JLabel 9.1.6 文本组件 JTextField 与JTextArea
5
✓Swing包在图形界面设计上比AWT更丰富,更美观。Swing 拥有4倍于AWT的用户界面组件。 ✓是AWT包基础上的扩展,在很多情况下在AWT包的部件前 加上字母J即为Swing组件的名称,如:JFrame、JApplet、 JButton等。 ✓Swing组件都是AWT的Container类的直接子类或间接子类 。
17
9.1.3 对话框组件 JOptionPane
使用上面介绍的 JDialog 可以制作消息提示对话框、确定取消对话框等常用的对话框,但相 对来说要花费一些心思才能做出来,而 JOptionPane 组件直接提供了创建上述几种常用的对 话框的方法,大大方便了编程。 1.showMessageDialog()的静态方法弹出消息对话框,显示一条消息并等待用户确定。常用 的重载方法如下。
4、设置窗体的位置。setLocationRelativeTo(Component c):设置 窗体的相对位置。如果参数为 null,则窗体在屏幕中居中对齐。
5、如果希望在关闭窗体后程序可以随之停止,需要调用方法 setDefaultClose Operation()并传入参数 JFrame.EXIT_ON_CLOSE, 这句代码设置了关闭窗体后会停止程序的运行。 此外还有其他 3 个参数,简述如下。
口");。 2)带参的构造方法:用一个字符串作为参数,此字符串将成为窗体的标题。

Java程序设计图形用户界面ppt课件

Java程序设计图形用户界面ppt课件
* GridBagLayout 布局管理器
▪ AWT中最灵活、最复杂的布局管理器,各组件所占空 间可以不相同且灵活规定,参见参考书及API文档;
.
17
第10章 图形用户界面
容器的嵌套使用举例
范例:NestedContainer.java
.
18
第10章 图形用户界面
默认布局管理器
Component Container
些空的方法体。
.
27
第10章 图形用户界面
10.3.4 内部类及匿名类在事件处 理中的应用
在Java事件处理程序中,由于与事件相关的事件 监听器的类经常局限于一个类的内部,所以经常 使用内部类。而且定义的内部类在事件处理中的 使用就实例化一次(在其他地方不会用到该类,所 以不需要类名),所以经常使用匿名类。
.
25
第10章 图形用户界面
10.3.2 事件监听器的注册
注册事件监听器只需要使用组件对象的 addXXXXEvent方法,它可以指明该对象感兴趣的 事件监听器(即实现了某个AWTEventListener子 接口的对象)。这样,当事件源发生了某种类型 的事件时,则触发事先已注册过的监听器中相应 的处理程序。
Window
Frame
Dialog
Panel Applet
BorderLayout
FlowLayout
.
19
第10章 图形用户界面
布局管理器总结(1)
▪ Frame
Frame是一个顶级窗口。 Frame的缺省布局管理器为BorderLayout。
▪ Panel
Panel无法单独显示,必须添加到某个容器中。 Panel的缺省布局管理器为FlowLayout。 当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以

ok_第六章AWT界面

ok_第六章AWT界面

{
Frame()
Frame(String title)
String getTitle()
//框架标题
void setTitle(String title)
void setResizable(boolean resizable)
}
//是否可变大小
13
使用Frame示例
import java.awt.*; public class Test {
19
标签-示例
import java.awt.*; public class PanelTest {
public static void main(String args[ ]) {
Frame fr = new Frame("Hello Out There!"); fr.setSize(200,200); fr.setBackground(Color.red); Label l=new Label("我是个标签"); fr.add(l); fr.setVisible(true); } } 20
文本区
要接受输入多行文本时使用 可以包括滚动条
• 可以通过以下构造函数来创建:
- TextArea( ) : 新建一个TextArea - TextArea(int rows, int cols) : 新建一个包含给定
行数和列数的TextArea - TextArea(String text, int rows, int cols) : 新建一
区域。
9
Container类
public class Container extends Component
{
public void setLayout(LayoutManager mgr)

JAVA图形用户界面的设计与实现PPT课件

JAVA图形用户界面的设计与实现PPT课件

Applet Frame Dialog FileDialog
容器
组件名
26
Component 类的常用方法 public void add (PopupMenu popup):在组件上加上一个弹出菜单。 public Color getBackground ( ): 获得组件的背景色。 public Font getFont ( ):获得组件使用的字体。 public Color getForeground ( ):获得组件的前景色。 public Graphics getGraphics( ):获得绘图用的 Graphics 对象。 public void repaint ( int x, int y, int width, int height ):以指点的坐标点
只能用做容器组件加入其他容器。 3)通常用于层次化界面组件管理。
P260:例 7-20 TestPanel . java
❖ 例子:ch7\src\MyFrame.java
6
组件
组件:图形用户界面的最小单元,用来完成与用户的交互;
用户界面标准化的结果,例如:标签、文本框、按钮、菜单 等。
使用组件的步骤: 1)创建组件类的对象,指定其属性; 2)使用某种布局策略; 3)将组件对象注册给对应的事件监听器,覆盖事件处理方
Java 支持的图像文件格式包括bmp,gif,jpeg 等。
16
二、绘制图像:
drawImage( Image img, int x, int y, ImageObserver observer ) 有4个 参数:图像的 Image 对象,显示图像的左 上角 x、y 坐标,显示图像的容器对象。如:
来接收和处理这种事件。 ❖ 如果一个事件源注册了对应的监听者,那么
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
也可以使用字符串“North”、“South”、“West”、 “East”和“Center”来标明。
BorderLayout是Frame和Dialog的默认布局管理器。
创建布局管理器对象:
public BorderLayout() 构造一个组件之间没有间距的新边框布局
public BorderLayout (int hgap,int vgap)
f.setLayout(null);//设置Frame的布局管理器为null f.setBounds(200,200,300,300); f.setBackground(Color.BLUE);//设置Frame背景色
p.setBounds(50,50,200,200); p.setBackground(Color.CYAN);//设置Panel背景色
} } class MultiFrame extends Frame{
static int id = 0; MultiFrame(int x,int y,int w,int h,Color color){
super("Frame " + (++id));//设置Frame的标题 setBackground(color); //设置背景色 setLayout(null);//设置布局管理器为null setBounds(x,y,w,h);//设置Frame窗体位置和大小 setVisible(true);//设置Frame可见 } }
FlowLayout(流式布局) BorderLayout(边界布局) GridLayout(网格布局) CardLayout(卡片布局) GridBagLayout
7.2.1 FlowLayout 流布局管理器
FlowLayout是最简单的布局管理器,该类是Object类的 直接子类。
布局管理器,可以进行灵活的窗口布局而与特定窗口的 尺寸和屏幕分辨率无关;
数据传送类,可以通过本地平台的剪贴板来进行剪切和 粘贴。
java.awt包中提供了GUI设计所使用的类和接口。 java.awt包提供了基本的java程序的GUI设计工具。主
要包括下述三个概念:
组件--Component 容器--Container 布局管理器--LayoutManager
} } public class Test7_3 {
public static void main(String[] args) { new FlowLayoutTest();
} }
7.2.2 BorderLayout 边框布局管理器
布局策略:提供了5个区域,而每个区域只允许添加一个 组件。
在加入组件的时候,需要指明其加入的位置 BorderLayout.NORTH BorderLayout.SOUTH BorderLayout.WEST BorderLayout.EAST BorderLayout.CENTER
FlowLayout的布局策略是按照组件的添加次序依次将它
们从左到右放置到容器中。当一行排满之后就转到下一行 继续从左到右排列,且每一行中的组件都居中排列。
FlowLayout是Applet缺省使用的布局策略。
创建布局管理器对象:
public FlowLayout()
居中对齐的,默认的水平和垂直间
setSize(int width, int height) 设置窗体大小。 setLocation(int x, int y) 设置窗体位置。 setVisable(boolean b) 设置窗体是否可见。 setBackGround(Color c) 设置窗体背景颜色。
import java.awt.*;
public class Test
{
public static void main(String args[ ])
{
Frame fr = new Frame("Hello Out There!");
fr.setSize(200,200);
fr.setBackground(Color.red);
fr.setVisible(true);
public FlowLayoutTest(){ //设置布局管理器为FlowLayout类型 this.setLayout(new FlowLayout()); for(int i=0;i<5;i++){ this.add(new Button("Button"+(i+1))); } pack(); this.setVisible(true);//设置可见
AWT
抽象窗口工具包AWT (Abstract Window Toolkit) 是 API 为Java 程序提供的建立图形用户界面GUI 工具集
AWT可用于Java的applet和applications中。 它支持图形用户界面编程的功能包括:
用户界面组件; 事件处理模型; 图形和图像工具,包括形状、颜色和字体类;
构造方法
public Fቤተ መጻሕፍቲ ባይዱame();
public Frame(String title); 每个Frame的对象实例化以后,都是没有大小和不可见的,
因此必须调用setSize( )来设置大小,调用 setVisible(true)来设置该窗口为可见的。
Frame中比较重要的成员方法 setBounds(int x, int y, int width, int height) 设置窗 体位置和大小,x、y是左上角坐标,width、height 为 宽度和高度。
f.add(p);//将Panel类对象添加到Frame中 f.setVisible(true); } }
7.2 布局管理器
java为了实现跨平台的特性并且获得动态的布局效果, java将容器内的所有组件安排给一个“布局管理器”负责 管理,如:排列顺序,组件的大小、位置,当窗口移动或 调整大小后组件如何变化等功能授权给对应的容器布局管 理器来管理,不同的布局管理器使用不同算法和策略,容 器可以通过选择不同的布局管理器来决定布局。
构造一个具有指定组件间距的边框布局。 水平间距由hgap指定,垂直间距由vgap 指定
将容器设置为布局管理器
将组件加入容器
在向设置为BorderLayout的布局管理策略的容器中添 加组件时,必须指明添加位置,如果未指明,则默认添 加到Center区域,新添加的组件会覆盖原来的组件。 add(Component comp,int index)
【例7-2】Panel类使用示例 import java.awt.*; public class Test7_2 {
public static void main(String[] args) { Frame f = new Frame("包含Panel的Frame"); //创建Panel对象,参数null为布局管理器设置 Panel p = new Panel(null);
隙是5个单位。
public FlowLayout(int align) 具有指定的对齐方式,默认的水平 和垂直间隙是5个单位。
public FlowLayout (int align, 它具有指定的对齐方式以及指定的
int hgap, int vgap)
水平和垂直间隙。
将容器设置为布局管理器
setLayout ( LayoutManager mgr )
将组件加入容器 add(Component comp)
【例7-3】使用FlowLayout布局管理器示例 import java.awt.*; class FlowLayoutTest extends Frame{
public FlowLayoutTest(){ this.setBounds(50,50,200,200); //设置布局管理器为FlowLayout类型 this.setLayout( new FlowLayout() ); for(int i=0;i<5;i++){ this.add ( new Button("Button"+(i+1)) ); } this.setVisible(true);
但是,Swing并没有代替AWT。在Java1.1中,AWT事 件处理模型有了根本改变。Swing使用的仍然是Java1.1 的事件处理模型。
AWT在实际的运行过程中是调用所在平台的图形系统,因此同样一段AWT程 序在不同的操作系统平台下运行所看到的图形系统是不一样的。例如在 windows下运行,则显示的窗口是windows风格的窗口;而在UNIX下运行时, 则显示的是UNIX风格的窗口。 Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级( lightweight)组件,没有本地代码,不依赖操作系统的支持。
第7章 AWT图形用户 界面
AWT与Swing
Java1.0的出现带来了抽象窗口工具箱(AWT)。设计目 标是希望构建一个通用的GUI,使得利用它编写的程序 能够运行在所有的平台上,以实现Sun公司提出的口号 “一次编写,随处运行”。
在Java1.2中,Sun公司推出了新的用户界面库:Swing。 相对AWT来说,Swing功能更强大、使用更方便,它的 出现使得Java的图形用户界面上了一个台阶。
组件、容器、布局管理器
Java的图形用户界面的最基本组成部分是组件
组件是一个可以以图形化的方式显示在屏幕上并能与 用户进行交互的对象,例如一个按钮,一个标签等。
基本组件不能独立地显示出来,必须将组件放在一定 的容器中才可以显示出来。
容器本身也是一个组件,具有组件的所有性质,但是它 的主要功能是容纳其它组件和容器。
}
}
【例7-1】Frame中若干重要方法示例 import java.awt.*; public class Test7_1 {
相关文档
最新文档