java图形用户界面java教程精.ppt

合集下载

图形用户界面.ppt

图形用户界面.ppt

Frame类的部分成员方法
String getTitle() void setTitle(String title) MenuBar getMenuBar() void setMenuBar(MenuBar mb) Rectangle getMaximizedBounds() void setMaximizedBounds(Rectangle bounds)
Component
Button Canvas Container Choice Checkbox Scrollbar
…… Label
AWT组件类结构层次图
Window Panel
AWT容器(Container)
容器(Container)是用来放置其他组件的一种特殊组 件,在Java中容器用Container 类描述,它是 Component的一个子类,因此,容器也具有组件的全部 特征,是一种具有特殊作用意义的组件。
9.1 Java图形用户界面概述
java.awt是java1.1用来建立GUI的图形包,这里的 “awt”是抽象窗口工具包(Abstract Windowing Toolkit)的缩写,其中的组件常被称为AWT组件。 javax.swing是Java2提出的AWT的改进包,它主要改 善了组件的显示外观,增强了组件的控制能力。
Component Container
ScrollPanel Window
Panel
Dialog
Frame
容器类的层次结构图
Applet
Panel容器
Panel容器是一种最简单且无边框的容器,又称为面 板容器。在这种容器中可以放置各种类型的组件,甚 至是另外一个Panel容器,所以Panel容器可以嵌套地放 置多层。Panel类提供了两种构造方法,其格式为: Panel() Panel(LayoutManager layout)

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仍然可以

Java GUI编程PPT教学课件

Java GUI编程PPT教学课件
第7章 GUI编程
2020/12/10
1
教学目标
图形用户界面(GUI)是程序的一种图示界面。
优秀的GUI通过给程序提供一致的外观和直观的
控件(例如按钮、滑动块、下拉列表和菜单等),
使得程序使用起来非常容易。Java API包含两种
不同类型的图形用户界面,“老的GUI”通常称为
抽象窗口工具包(AWT)GUI,它是在Java SDK
调用并传递参数
监听者实现接口:
2020/12/10
public void actionPerformed(ActionEvent e)
9
鼠标和键盘事件
♣ 鼠标事件类MouseEvent和键盘事件类KeyEvent都是
InputEvent类的子类,InputEvent类不包含任何具体的 事件,但是调用InputEvent类的getModifiers()方法,并 把返回值与InputEvent类的几个静态整型常量 ALT_MASK,CTRL_MASK,SHIFT_MASK, META_MASK,BUTTON1_MASK,BUTTON2_MASK, BUTTON3_MASK相比较,就可以得知用户在引发 KeyEvent事件时是否同时按下了功能键,或者用户单击 鼠标时所单击的是左键还是右键。
8
事件处理模型
♣事件处理由3个组成部分:事件源、事件对
象和事件监听者。
♣Java的事件处理机制中引入了委托事件模
型,不同的事件由不同的监听器处理,如
图所示的是ActionEvent事件的处理模型。
事件源 注册:btn.addActionListener(监听者对象)
注册
触发事件
ActionEvent 事件
♣java.awt包是java基本包中最大的一个包,

《Java用户界面》幻灯片

《Java用户界面》幻灯片

public class Window11_3
的组件,由Label类来创造
{
public static void main(String[] args)
{
Frame fra=new Frame("这是创建标签的程序 ");
Label b1=new Label(); // 创建一个00);
b1.setText("欢迎使用JAVA语言");//为标签添加文字
b1.setAlignment(Label.CENTER);//设置标签在窗口中央位置
b1.setBackground(Color.blue);//引用Componentlei的方法设置标签背景颜色
b1.setForeground(Color.red);
• Swing采用了一种MVC的设计范式
• Swing外观感觉采用可插入的外观感觉〔Pluggable Look and Feel,PL&F〕
SWT
• SWT • SWT是Eclipse组织为了开发Eclipse IDE环境所编写的
一组底层图形界面 API。然而到目前为止,SWT无论是 在性能和外观上,都超越了SUN公司提供的AWT和 Sing。 • 目前Eclipse IDE已经开发到了2.1版本,SWT已经十分 稳定。这里指的稳定应该包含两层意思: • 一是指性能上的稳定,其中的关键是源于SWT的设计理 念 • 另一个稳定是指SWT API包中的类、方法的名称和构造 已经少有改变,程序员不用担忧由于Eclipse组织开发 进度很快〔Eclipse IDE每天都会有一个Nightly版本的 发布〕,而导致自己的程序代码变化过大
//引用Componentlei的方法设置标签中的文字颜色

《Java程序设计与案例》课件 第5章 图形用户界面

《Java程序设计与案例》课件  第5章 图形用户界面
使用repaint()方法可以触发update()方法
编程
调用
控制 repaint()
update()
第一次绘制
paint( )
1. 擦除并填充成背景色 2. 调用paint()
当某些操作破坏了显示,需重新绘制时
Java的图形用户界面
22
显示图象
5
图形与图象,java支持gif和jpeg格式 保存二进制图象的java.awt.Image类 获取Image对象的方法
//must extends Frame in an application
public class Empty extends Frame{ // 暂时采用1.0.2的事件处理方法,关闭窗口
public boolean handleEvent(Event evt){ //根据Event类中参数evt的id值来判断发生事件的种
设计&实现图形用户界面的工作
– 创建GUI各组成成分,并安排从属位置关系,根据 具体需要对其进行排序,构成完整外观。
– 定义GUI各成分对不同事件的响应,实现与用户的 交互功能。
Java的图形用户界面
5
界面构成
5
容器
标准 组件
用户自 定义成

❖容器是用来组织其他界面成分和元素的单元。一 般一个图形用户界面对应一个复杂容器。如一窗口 ❖标准组件是图形用户界面的最小单位,它里面不 再包含其他的成分。如单选按钮,文本框,菜单
getImage(图象文件所在的URL) getImage(图象文件所在的URL,图象文件名) – Applet类以及java.awt.Toolkit中均有方法的定义 – 注意:在application中只能使用Toolkit,而在Applet 中,两者均可使用

零点起飞学Java之图形用户界面.pptx

零点起飞学Java之图形用户界面.pptx

10.3.1 默认管理器BorderLayout
BorderLayout布局管理器将容器划分为东(East)、 西(West)、南(South)、北(North)、中 (Center)五个区域。它是Frame类的默认布局管理 器。采用BorderLayout布局时,向容器中添加组件需 要指定组件所在的区域。BorderLayout类的构造方法 主要有如下几种。
10.2 界面容器
容器是用来存放其他组件的一种特殊组件。在Java语 言中,所有容器类都是Container类的子类。 Container类继承了Component类,该类的两个常用子 类是Frame和Panel类。Frame和Panel类代表两种不同 类型的容器,下面分别进行介绍。
10.2.1 框架窗口类Frame
Panel相关的AccessibleContext。
10.3 布局管理器
布局管理器用于布局容器中的组件,包括设定组件 的位置和尺寸大小等。每个容器被创建后,都会有 一个默认布局管理器。另外,可以设置指定的布局 管理器对组件进行管理。Java语言的AWT包提供了 不同类别的布局管理器,包括BorderLayout、 FlowLayout、CardLayout等,下面分别进行介绍。
第10章 图形用户界面
图形用户界面(Graphical User Interface)简称GUI, 提供了一种更加直观、友好的与用户进行交互的方 式。利用Java语言进行图形用户界面操作主要由 java.awt和javax.swing两个包来完成。其中,AWT包 是图形用户界面处理的基本工具包,Swing包在AWT 包的基础上进行了升级、扩展,具有更加强大的图 形界面开发功能。
10.3.1 默认管理器BorderLayout

第10章 Java图形用户界面

定的,默认的水平和垂直间隙是5个单位。 ➢ public FlowLayout(int align, int hgap, int vgap):初始化流式布局管理
器,具有指定的对齐方式以及指定的水平间隙hgap和垂直间隙vgap 。 align是对齐方式的可选项,align的可取值有FlowLayout.LEFT、 FlowLayout.RIGHT、FlowLayout.CENTER、FlowLayout.LEADING 和FlowLayout.TRAILING。
public static final int WIDTH = 300; public static final int HEIGHT = 200;
//自定义窗体类
public MyPanelFrame() {
setTitle("面板JPanel测试");
//设置窗体标题
setSize(WIDTH, HEIGHT);
➢ public void setSize(int width, int height) :设置窗体大小。
➢ public void setVisible(boolean flag):设置窗体是否可见,true为可见。
➢ public void setResizable(boolean flag):设置窗体大小是否可调整,true为可调 整。
public MyFramookit工具包类提供了很多实用方法
Toolkit kit = Toolkit.getDefaultToolkit();
// 获取屏幕大小
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;// 屏幕高
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import java.awt.*; import java.applet.Applet; import java.awt.event.*; public class Ex6_2 extends Applet{
TextField tf1=new TextField(20); TextField tf2=new TextField(20);
class ButtenL implements ActionListener{
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b1) ta1.append ("\n你按下了"显示"
按钮");
else ta1.append ("\n你按下了"清除"
按钮"); }
} }
运行结果见图5-6。
图5-6
2.FocusEvent
FocusEvent称作焦点事件,它的发生 是指键盘光标移动到构件上并且可以接受 键盘的输入。如果光标移动到一个按钮上, 称作该按钮获得焦点,反之称作失去焦点。 当一个按钮获得焦点时单击回车键即相当 于用鼠标单击该按钮。如果一个文本框获 得焦点就可以在该文本框中输入字符。
public void init(){ add(tf1); tf1.setEchoChar('*'); add(tf2); tf1Listener al = new tf1Listener(); tf1.addActionListener(a1);
} class tf1Listener implements ActionListener{
public void textValueChanged(TextEvent e) {
ta1.append("\nThe text is changed"); } } }
运行结果见图5-4。
图-4
5.2 标 签
标签(Label)是AWT构件中最简单 的一种构件,所谓标签实质上就是一段文 字,但它与文字不同的是它是一个对象, 所以在每次repaint时,不用重新添加。标 签在GUI界面中通常作为提示信息使用。
按 钮 ( Button) 是 GUI 用 户 界 面 中 常 用 的 元素,它是用户输入命令的一个重要工具。当用 鼠标单击某个按钮该按钮获得焦点时,在键盘上 按回车键都会导致一个命令的执行。Button类有 两种构造方法。
(1)Button() 构造一个没有标签的按钮。
(2)Button(String str) 构造 一个以 String str为标签的按钮。
5.3.2 按钮处理事件
与按钮有关的事件有两类。
1.ActionEvent
当用鼠标单击按钮,或当按钮获得焦 点时在键盘上按回车键都导致该事件的发 生,此时任何实现了被注册为监听者的 ActionListener 接 口 的 类 , 它 的 actionPerformed()方法将被调用。
下面的程序范例在Applet上添加两个 命令按钮,其标签分别为“显示”和“清 除”,当单击“显示”按钮时,在文本区 中显示:“你按下了显示按钮”,当按 “清除”按钮时则清除文本区中显示的字 符。
第5章 图形用户界面
5.1 文本框和文本区 5.2 标 签 5.3 按 钮 5.4 选 择 框 5.5 画 布 5.6 面板与布局设计 5.7 窗 口 5.8 菜 单 5.9 对 话 框
5.1 文本框和文本区
5.1.1 文本框及处理事件
1.文本框的创建 2.文本框处理事件
例5-2:两个空白文本框,当在第一个 文本框内输入字符时,在文本框内显示“*” 号,输入完毕按回车键后,在第二个文本 框内显示:The end。
例5-6:文本区事件处理。
import java.awt.*; import java.applet.Applet; import java.awt.event.*;
public class Ex6_6 extends Applet{ Button b1=new Button("显示"); Button b2=new Button("清除"); TextArea ta1=new TextArea (null,6,40); public void init(){ add(b1); add(b2); add(ta1); b1.addActionListener(new ButtenL()); b2.addActionListener(new ButtenL()); }
import java.awt.*; import java.applet.Applet; import java.awt.event.*;
public class Ex6_4 extends Applet{ TextField tf1=new TextField(20); TextArea ta1=new TextArea (null,6,40); public void init(){ add(tf1); add(ta1); tf1.addTextListener(new TextL()); } class TextL implements TextListener{
例5-7:按钮和文本框检测焦点事件的 例子。程序如下:
public void actionPerformed(ActionEvent e) {
tf2.setText("The end"); } } }
运行结果见图5-2。
图5-1
5.1.2 文本区及处理事件
例5-4:在Applet中添加一个文本框和 一个文本区,每当在文本框中输入一个字 符时,在文本区内就附加一行文本:The text is changed。
标签构件的构造方法如下。 (1)Label() 构造一个空的标签。 (2)Label(String str) 构造一个以 String str为内容的标签。 (3)Label(String str,int align) 定 义一个以String str为内容的标签。
5.3 按 钮
5.3.1 按钮
相关文档
最新文档