java网络程序设计(下)ppt

上传人:tia****nde 文档编号:70331974 上传时间:2019-01-16 格式:PPT 页数:243 大小:5.02MB
返回 下载 相关 举报
java网络程序设计(下)ppt_第1页
第1页 / 共243页
java网络程序设计(下)ppt_第2页
第2页 / 共243页
java网络程序设计(下)ppt_第3页
第3页 / 共243页
java网络程序设计(下)ppt_第4页
第4页 / 共243页
java网络程序设计(下)ppt_第5页
第5页 / 共243页
点击查看更多>>
资源描述

《java网络程序设计(下)ppt》由会员分享,可在线阅读,更多相关《java网络程序设计(下)ppt(243页珍藏版)》请在金锄头文库上搜索。

1、Java网络程序设计(下),第7章 图形用户界面 Graphics User Interface,主要内容,图形用户界面的概念和特点 Java中的AWT和Swing组件 常用Swing组件 图形用户界面的设计方法和步骤 Java的事件处理机制 窗口菜单的设计 基本的图形绘制方法,教学目标,掌握常用Swing组件的功能和应用 掌握Eclipse可视化开发环境下图形用户界面的设计方法 理解Java的事件处理机制 熟悉基本的图形绘制方法,7.1 图形用户界面设计基础,图形用户界面(Graphics User Interface,简称GUI)是指以图形的方式实现人与计算机之间的交互。在该界面下用户往往

2、只需通过单击、双击、拖曳鼠标和简单的文字键入就可以轻松地操作计算机完成任务。图形用户界面生动形象、操作直观简便。,一、AWT与Swing,Java类库中提供AWT(Abstract Window Toolkit-抽象窗口工具集)和Swing两套组件是Java类库中提供的两类来实现图形用户界面; AWT由java.awt包提供,Swing由javax.swing包提供。其中均包含了用于设计图形用户界面的各种组件、布局管理器和事件类; Swing是Java语言提供的第二代设计工具,它以AWT为基础,提供了比AWT更多的特性和工具,用于建立更复杂的图形用户界面。现在常采用Swing组件来开发GUI应

3、用程序。,1、Swing组件的体系结构,基本组件 Component,容器 Container,2、Swing组件的分类,从功能上分为:容器和基本组件;容器又分为顶层容器和中间层容器。 顶层容器:JFrame、JDialog、JApplet 。用于构造图形用户界面的窗口,并容纳其它容器和组件,它们可以独立存在 。 中间层容器 :JPanel、JScrollPane、JToolBar等。容纳其它组件,但是不能独立存在,需要添加到其它容器中。通常用来按功能组织基本组件 。 基本组件:按钮JButton、文本框JTextField等等。是图形用户界面的基本组成单位,不能独立存在,必须将其添加到一定的

4、容器中。,二、容器与布局管理器,容器用于容纳组件,布局管理器用来设置容器中各个组件的排列方式。 1、顶层容器与窗口 每一个Java的GUI程序都必须至少包含一个顶层容器组件作为窗口; Swing中最常用的顶层容器类JFrame:用它创建的框架窗口可以独立存在,并且带有边框、标题及用于关闭和最大化/最小化窗口的图标按钮 。,创建一个框架窗口,import javax.swing.*; public class JFrameDemo extends JFrame public JFrameDemo() super(“JFrame窗口“); setBounds(50,50,300,120); set

5、DefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); public static void main(String args) JFrameDemo f = new JFrameDemo(); ,JFrame类常用的方法,void setLayout(LayoutManager manager) viod add(Component comp) void setBounds(int x,int y,int width,int height) void setTitle(String title) void setVisible(Bool

6、ean b) setDefaultCloseOperation(EXIT_ON_CLOSE) Container getContentPane() 所列出的大部分方法也适用于其它容器和组件,2、布局管理器,布局管理器是java.awt包中提供的专门用于设置容器中组件排列方式的类,常用的有FlowLayout、BorderLayout和GridLayout等几种。每一种容器都有一个默认的布局管理器,通过setLayout方法可以改变容器的布局方式。,流式布局举例,public class FlowLayDemo extends JFrame private JButton myButton1,m

7、yButton2,myButton3,myButton4,myButton5; public FlowLayDemo() / FlowLayDemo类的构造方法 super(“流式布局“); setBounds(50,50,300,120); setLayout(new FlowLayout(); /设置窗口为流式布局 setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); myButton1=new JButton(“第一个按钮“); /生成按钮对象 myButton2=new JButton(“第二个按钮“); myButton

8、3=new JButton(“第三个按钮“); myButton4=new JButton(“第四个按钮“); myButton5=new JButton(“第五个按钮“); add(myButton1); /添加按钮到窗口上图7.4(a) 流式布局 add(myButton2); add(myButton3); add(myButton4); add(myButton5); public static void main(String args) FlowLayDemo f=new FlowLayDemo(); ,边界布局举例,public class BorLayDemo extends

9、JFrame private JButton myButton1,myButton2,myButton3,myButton4,myButton5; public BorLayDemo() super(“边界布局“); setBounds(50,50,300,120); setLayout(new BorderLayout(); /设置窗口为边界布局 setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); myButton1=new JButton(“东边按钮“); myButton2=new JButton(“南边按钮“); myB

10、utton3=new JButton(“西边按钮“); myButton4=new JButton(“北边按钮“); myButton5=new JButton(“中间按钮“); add(“East“,myButton1); /添加按钮到窗口指定方位 add(“South“,myButton2); add(“West“,myButton3); add(“North“,myButton4); add(“Center“,myButton5); public static void main(String args) BorLayDemo f = new BorLayDemo(); ,网格布局举例,

11、public class GridLayDemo extends JFrame private String names=“按钮1“,“按钮2“,“按钮3“,“按钮4“,“按钮5“,“按钮6“; public GridLayDemo() super(“网格布局“); setBounds(50,50,300,120); setLayout(new GridLayout(3,3); /设置三行三列网格布局 setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); for (int i=0;inames.length;i+) add(new

12、 JButton(namesi); /依次添加各个按钮 public static void main(String args) GridLayDemo f=new GridLayDemo(); ,null 自定义布局,也称精确布局,由用户自行设定容器中每个组件的具体位置和大小; 利用以下两条语句实现自定义布局: 容器对象名.setLayout(null); -将容器布局设为自定义布局方式 组件对象名.setBounds(x,y,width,height); -指定组件在容器中的位置和大小 在Eclipse可视化编程环境下(VE),通常将容器的布局设置为null,以便灵活布局。,三、初识事件及

13、事件处理,图形用户界面中人机交互的实现是通过组件响应各种事件来实现的。 事件:通俗的讲是指在GUI程序系统中用户按需要激发的某一动作。 如按钮单击、鼠标移动等 事件源:事件发生的对象,如上述的按钮、鼠标 事件处理:可以简单理解为当某个事件发生时需要执行的动作(语句序列)。,四、图形用户界面的设计方法和步骤,1、图形用户界面的构成: 组件 布局管理器 事件处理,GUI窗口的生成和其中组件排列问题,用户与程序之间的交互性问题,2、Eclipse可视化编程简介,在Eclipse中加装可视化编程插件VE(Visual Editor)后就构成了可视化开发环境,其中核心的部分是可视化类库(Visual C

14、lass)。可视化类是Eclipse VE自带的已经编写好的标准类,用户可以直接使用,它是实现图形用户界面可视化设计的基础。 Eclipse可视化开发环境提供了一种直观、高效的GUI开发平台,像窗口的创建、组件的添加等工作几乎不用设计者编写任何代码就轻松实现,Eclipse编辑器会根据设计者的操作自动生成软件框架代码,大大降低了图形用户界面开发的难度。,3、VE环境下实现图形用户界面的步骤,创建窗口:新建一个继承自顶层容器的可视化类; 指定窗口布局方式:一般设置为null; 创建基本组件并添加到容器中; 响应事件:为某些实现与用户交互的基本组件添加事件处理代码,五、案例7-1的实现 (演示),

15、第一步:创建窗口,生成GUI的软件框架代码 启动Eclipse,新建一个名为proj7的Java项目 在项目proj7中新建一个基于JFrame的可视化类ClinicSelfInquire,1-可视化界面设计区 :是容纳和布局各个组件的地方 2-Java Beans视图区:以树形结构显示出当前窗口中所有组件及其包含关系 3-属性视图:用于设置构成窗口的各个组件的属性值,五、案例7-1的实现 (演示),第二步:设置窗口外观和布局方式 设置窗口的位置、大小、标题,五、案例7-1的实现 (演示),第二步:设置窗口外观和布局方式 设置窗口布局为null,五、案例7-1的实现 (演示),第三步:添加组件

16、并设置属性 添加一个标签JLabel和4个命令按钮JButton,五、案例7-1的实现 (演示),第三步:添加组件并设置属性 设置标签和按钮的相关属性,五、案例7-1的实现 (演示),第四步:为命令按钮添加单击事件处理代码,五、案例7-1的实现 (演示),在Java Beans视图中JButton4的下面新增了一个actionPerformed方法,同时在getJButton4()方法中也新增了一段代码: private JButton getJButton4() if (jButton4 = null) jButton4.addActionListener(new ava.awt.event.ActionListene

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

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

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