第七讲 java图形用户界面设计.ppt

上传人:bao****ty 文档编号:144343400 上传时间:2020-09-07 格式:PPT 页数:26 大小:623.50KB
返回 下载 相关 举报
第七讲 java图形用户界面设计.ppt_第1页
第1页 / 共26页
第七讲 java图形用户界面设计.ppt_第2页
第2页 / 共26页
第七讲 java图形用户界面设计.ppt_第3页
第3页 / 共26页
第七讲 java图形用户界面设计.ppt_第4页
第4页 / 共26页
第七讲 java图形用户界面设计.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《第七讲 java图形用户界面设计.ppt》由会员分享,可在线阅读,更多相关《第七讲 java图形用户界面设计.ppt(26页珍藏版)》请在金锄头文库上搜索。

1、池州学院 数学计算机科学系,第7章 Java图形用户界面设计,教学目的,教学重/难点,教学方法,教学内容,池州学院 数学计算机科学系,AWT:抽象窗口工具包,是API(应用接口)为Java程序提供的建立图形用户界面的工具集。在AWT组件中,由于控制组件外观的对等类与具体平台相关,使得AWT组件总是只有与本机相关的外观。 Swing也是一个包,提供了完全的用户界面组件集合,是在AWT基础上的扩展。 Swing组件是用Java实现的轻量级( light-weight)组件,没有本地代码,不依赖操作系统的支持.,Swing 组件概述,池州学院 数学计算机科学系,简单示例,Swing 组件概述,池州学

2、院 数学计算机科学系,Swing的层次结构 顶层容器 JFrame:用来设计类似于Windows系统中的窗口形式的应用程序。 JDialog:用来设计和实现对话框。 JApplet:用来设计可以嵌入在网页中的Java小程序。 注意:顶层容器中不能直接添加Swing组件,必须先调用顶层容器的getContentPane()方法获得顶层容器的内容面板,然后将组件加到面板中。,Swing 组件概述,池州学院 数学计算机科学系,Swing组件 容器组件 能包含其他组件的特殊组件。如JPanel、JTabbedPane(选项卡面板) 、JScrollPane等。 非容器组件 JLabel、JButton

3、、JComboBox、JList、JTextField等 向容器组件添加非容器组件需调用容器组件的add(Component comp)方法直接添加上去。 例题 JPanel panel=new Jpanel( ); JLabel label=new JLabel(“hello”); Panel.add(label); Swing组件最终都必须放在顶层容器中。,Swing 组件概述,池州学院 数学计算机科学系,JComponent 是所有Swing组件的基类,实现了所有Swing组件公共的功能。 功能 边框设置:setBorder() 双缓冲区:JComponent有默认的双缓冲区,若关闭缓冲

4、区,可以用组件调用setDoubleBuffered(false)方法。 提示信息:setTooltipText( ) 键盘导航:registerKeyboardAction()能使用户用键盘代替鼠标来驱动组件; 可插入外观:用UIManager.setLookAndFeel( )可以设置需要的外观。 支持布局,Swing 组件概述,池州学院 数学计算机科学系,JFrame 构造方法 Public JFrame( ):创建一个框架。 Public JFrame(String title):创建一个标题内容为参数指定值的框架。 加入组件的方法 public Container getConten

5、tPane( ):JFrame的方法,用来获得JFrame的内容面板,返回值为Container类对象。 public void add(Component comp,Object constraints): Container的方法,用来将参数comp指定的组件加入到容器中。constraints表示布局方面的规定。,框 架(可以独立显示的顶层容器),池州学院 数学计算机科学系,设置关闭按钮功能的方法 setDefaultCloseOperation(int operation):JFrame的方法,用来设置单击关闭按钮时程序执行的操作。具体操作由参数指定。 DO_NOTHING_ON_CL

6、OSE:单击关闭按钮后不做任何事。需调用窗口监听器中的windowClosing( )方法执行其他动作。 HIDE_ON_CLOSE:单击关闭按钮后,窗口隐藏起来。 DISPOSE_ON_CLOSE:单击关闭按钮后,窗口消失并释放所有的资源。 EXIT_ON_CLOSE:单击关闭按钮后,退出应用程序,该参数仅用于应用程序。,框 架(可以独立显示的顶层容器),池州学院 数学计算机科学系,显示组件的方法 public void setSize(int width,int height):设置框架的大小,参数单位为像素。 public void pack( ):自动调整框架的大小为框架中的组件所占用

7、的大小。 显示框架的方法 public void show( ):继承自windows的方法,用来显示框架。 public void setVisible(boolean b):继承自Component类的方法,当参数为ture时,显示框架;否则隐藏框架。 例9.2(P202),框 架(可以独立显示的顶层容器),池州学院 数学计算机科学系,按钮 按钮的构造方法(P203 表9-1) 设置按钮属性的方法(P203 表9-2) 例9.3(P204),按钮与事件处理,池州学院 数学计算机科学系,按钮的事件处理 事件放置在java.awt.event包中,所有事件类都从java.awt.AWTEven

8、t类派生出来的。 Java事件处理机制的三个组成部分 例9.4(P205),按钮与事件处理,池州学院 数学计算机科学系,事件处理类 常用的事件处理类(P207 表9-3) 组件、事件类和监听器接口的对应关系(p207 表9-4) 要实现一种接口,必须实现接口中定义的所有方法。 要将事件传递给监听器接收和处理,需要进行事件监听器的注册和注销。,按钮与事件处理,池州学院 数学计算机科学系,单行文本框与密码文本框 JTextField 构造方法(P208 表9-5) JPasswordField 是JTextField的子类,在JTextField的基础上增加了密码处理的方法。默认以“*”的方式显示

9、,可通过setEchoChar(char ch)设置密码显示字符,getEchoChar( )方法获取密码显示字符。其构造方法与JTextField类似。 JTextField和JPassworldField的方法(p208 表9-6) 获取密码的方法:char getPassword( ) 例9.5(P209),文本框与文本域,池州学院 数学计算机科学系,多行文本域 JTextArea 构造方法(P211 表9-7) 常用方法(P211 表9-8) 可以将JTextArea对象放入JScrollPane中,实现多行文本的滚动。 文本内容发生变化时触发DocumentEvent事件,由Docu

10、mentListener监听。对文本内容发生变化的处理步骤: 创建DocumentListener类型的对象myListener。 创建JTextArea类型的对象myArea。 获取myArea的文档对象,并添加监听器myListener。 myArea.getDocument().addDocumentListener(myListener) 例9.6(P212),文本框与文本域,池州学院 数学计算机科学系,LayoutManager:容器布局管理器的接口 布局管理器用来管理组件在容器中的布局,容器中的组件位置由布局管理器决定,当容器需要对放置在其中的某个组件进行定位和大小设置时,就会调用

11、对应的布局管理器。 相关方法 setLayout(布局管理器对象):为容器设置布局管理器。 setLayout(null):取消布局管理器,同时使用setLocation()、setSize()、setBounds()等方法为组件设置大小和位置。,布局管理器,池州学院 数学计算机科学系,BorderLayout 布局管理器 此布局管理器将容器分为5个区域:East、West、South、North和Center,分别用5个字符串常量表示。 构造方法(表9-10) 特点:使用这个管理器的容器,每个区域只能放一个组件,被拉伸时,各个组件相对位置不变,中间部分组件的尺寸发生变化,East和West位

12、置的组件的宽度不变,高度随之改变,South和North位置的组件的高度不变,宽度随之改变。 添加组件的方法: public void add(Component c,String s); 例9.7,布局管理器,池州学院 数学计算机科学系,FlowLayout 布局管理器 构造方法: FlowLayout():组件居中放置,组件之间的水平间距和垂直间距都是5; FlowLayout(int align):设置容器中的组件放置方式,间距和垂直间距和第一种相同。 FlowLayout(int align,int hgap,int vgap):设置容器中的组件放置方式和间距及垂直间距。 组件从左向右

13、依次摆放,一行排满则另起一行。改变窗口大小时,组件相对位置会发生改变。组件对齐方式有三个常量表示。 添加组件的方式:add(Component c) 例9.8,布局管理器,池州学院 数学计算机科学系,GridLayout 布局管理器 此布局管理器按照网格状布局设置容器中的各个组件的位置。 特点:改变容器大小时,组件相对位置不变,但大小随之改变。 构造方法(表9-12) 其他方法(表9-13) 例 源代码 运行结果,布局管理器,池州学院 数学计算机科学系,BoxLayout 构造方法: BoxLayout(container target,int axis) 其他方法(表9-14) 布置组件的整

14、型常量 X_AXIS:从左到右横向布置组件。 Y_AXIS:从上到下纵向布置组件。 LINE_AXIS:根据容器的ComponentOrientation属性,按照文字在一行中的排列方式布置组件。 PAGE_AXIS根据容器的ComponentOrientation属性,按照文本行在一页中的排列方式布置组件。 例9.10,布局管理器,池州学院 数学计算机科学系,JApplet JApplet是Applet的子类,所有的Swing GUI组件都包含在JApplet小程序中。 例7.12 源代码 运行结果 注: 与JApplet配合使用的HTML文件和Applet的HTML文件没有什么分别。 在J

15、Applet中加入Swing组件时必须先使用JApplet方法getContentPane()获得一个Contaniner对象,再调用这个对象的add()方法将JComponent及子类对象加到JApplet中。 JApplet的默认布局管理器是BorderLayout.,import javax.swing.*; import java.awt.*; public class MyFirstJApplet extends JApplet public void paint(Graphics g) g.drawString(I am a JApplet.,10,20); , ,池州学院 数学计

16、算机科学系,JButton 与Button的区别: 可以在按钮上显示图标; 可以在不同状态使用不同的按钮图标; 可以为按钮加入提示信息等等。 构造方法 JButton(Icon icon) /按钮上显示图标 JButton(String text) /按钮上显示字符 JButton(String text, Icon icon) /按钮上既显示图标又显示字符 创建图标按钮 例7.13 改变按钮图标:根据按钮所处状态的不同而自动变换不同的Swing按钮图标。 例7.14 为按钮加入提示:当鼠标在按钮上停留几秒时,屏幕上显示简短的按钮作用提示信息。 例7.15,import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TestIconButton extends JApplet implements ActionListener JButton jbtn; public void init() Container c=getContentPane(); Icon ico

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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