Java图形界面设计ppt课件.ppt
《Java图形界面设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《Java图形界面设计ppt课件.ppt(89页珍藏版)》请在三一办公上搜索。
1、第十二章 图形用户界面,吴冬芹金陵学院信息科学与工程学院,2,主要内容,一、图形用户界面 二、图形用户界面工具包(Swing) 三、创建组件 四、布局管理器,图形用户界面,图形用户界面(Graphics User Interface,GUI)用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令、启动操作,并将系统运行的结果同样以图形方式显示给用户的技术。Java的GUI程序设计是Java程序设计的基础。Java提供的两个处理图形用户界面的类库Java. awt包 和 javax. swing包,Abstract Window Toolkit抽象窗口工具集,a
2、wt的扩展,根据给定环境调整外观和感觉。,图形用户界面,1996年,Sun公司和Netsacpe公司在一个称为Swing的项目中合作完善了Netsacpe公司原来开发的一套GUI库,也就是现在所谓的Swing组件。JFC(Java基础类库,Java Foundation Class)是在1997年的JavaOne开发者大会上首次提出的,是指用于构建GUI的一组API。实际上,Swing只是JFC的一部分,其他的还有二维图形(Java 2D)API以及拖放(Drag and Drop)API等。,图形用户界面,5,java.awt包中包含了一个完整的类集以支持GUI程序的设计,其中的类及相互关系
3、可以用下图来描述,AWT与Swing,图形用户界面,Swing工具包作为AWT的扩展,并以AWT为基础Swing跨平台的灵活性,可以根据给定环境而调整他们的外观和感觉。重型组件AWT组件通常称为重型组件,因为它在运行时需要一个与平台相关的本地组件为之服务。轻型组件Swing组件是纯Java编写的,不直接使用本地组件,所以通常称为轻型组件。Swing组件类的名字开头都有前缀”J”,7,AWT与Swing顶层窗口类之间的关系,图形用户界面,8,Swing组件,9,主要内容,一、图形用户界面二、图形用户界面工具包(Swing) 三、创建组件 四、布局管理器,Swing,Java图形用户界面的基本元素
4、主要由图形用户界面工具包Swing提供。Java图形用户界面的基本元素包括:用户界面组件(组件类)、事件处理模块(事件类)、图形和图像工具(图形类、图像类)、布局管理器(布局类)等。它们主要在javax.swing包中。java组件类的继承关系见教材图12.1,1、Swing组件分类,构成图形用户界面的类可以分为三组:(1)容器类(container class),包含其他组件的类顶层容器,能独立存在,是可以独立的窗口,如JFrame,JApplet,JDialog等顶层容器大都含有边框并且可以移动、放大、缩小等非顶层容器,不能独立存在不是独立的窗口,它们必须位于窗口之内,非顶层容器包括JPa
5、nel及JScrollPanel等非顶层容器必须放入窗口之内才能显示一般独立应用程序使用JFrame,在上面放置Jpanel面板,如果应用到浏览器中,使用JApplet,1、Swing组件分类,(2)组件类(component class)所有Swing GUI组件类(除JFrame、JApplet和JDialog)都是JComponent类的子类例如,JButton、JTextField、JTextArea、JComboBox、JList、JRadioButton和JMenu等(3)辅助类(helper class)用来描述组件属性的,辅助类通常包含在java.awt包中.如,绘图类Grap
6、hics,颜色类Color,字体类Font,字体属性类FontMetrics等Swing组件不能取代AWT的全部类,只能替代AWT的GUI组件类(Button,TextField,TextArea等),AWT辅助类保持不变。,2、Swing容器的层次关系,一般的Swing窗口,实际上包含几个“层次”它是Java应用程序的顶层容器。,顶层容器JFrame、JDialog等,根窗格,分层窗格,内容窗格 Jpanel,玻璃窗格,根窗格(root pane)是一个轻型容器在创建顶层容器后自动创建是顶层容器包含的最高内层无法在这一层做任何操作与处理,分层窗格(layered pane)该窗格中的组件可以
7、设置图层层次,不会被内容窗格中的对象屏蔽图层重叠时,层次低的会被屏蔽本层主要用来管理菜单栏和内容窗格若没有菜单栏,则内容窗格会充满整个顶层窗格。,内容窗格(content pane)默认状态下是一个具有布局管理器的Jpanel对象。大部分可见组件都放在内容窗格中。,玻璃窗格(glass pane)这一层主要用来产生绘图效果,触发窗口程序的各种事件。默认是隐藏的。除非实现玻璃窗格的paint()方法,否则它是透明的。,一般,根窗格、分层窗格、玻璃窗格都不直接使用。,顶层窗格(top lever container)是一个窗口容器对象。,Swing程序结构简介,Swing的程序设计一般可按照下列流
8、程进行:导入Swing包设置顶层容器设置组件增加组件到容器进行事件处理,14,导入Swing包首先必须导入Swing包:import javax.swing.*;大多数Swing程序中,还需要导入两个主要的AWT包import java.awt.*;import java.awt.event.*;,JFrame特点JFrame的内容窗格利用getContentPane()方法获取Container类的对象。JFrame类对象显示效果是一个“窗口”,带有标题栏和尺寸重置角标ImageIcon图标对象。图像类型是image,使用ImageIcon类创建图标对象。JMenuBar是框架的可选菜单默认
9、为不可见,setVisible(true)方法使之可见默认的布局管理器是BorderLayout使用setLayout()方法可以改变布局,要人工控制组件在容器中的大小和位置,调用方法setLayout(null)取消容器的布局管理器。再使用setLocation()、setSize()、setBounds()等方法来设定,2、框架类JFrame,2、框架类JFrame,JFrame的常用构造方法有:JFrame( )/创建一个没有窗口标题的窗口JFrame(String title ) /创建一个标题为title的框架例如JFrame jfrm=new JFrame(这是个Swing程序);
10、JFrame jfrm=new JFrame();,2、框架类JFrame,jfrm.setSize(250,140); /设置框架大小 jfrm.setLocation(260,150); /设置组件显示位置的左上角坐标,(0,0),260,150,2、框架类JFrame,JFrame的常用成员方法:void setTitle(String title) /设置框架的标题String getTitle( ) /返回框架的标题void setVisible(boolean b) /参数为true时设置框架可见,该方法调用前框架不可见void setSize(double w, double h
11、) /设置框架的宽和高void setLocation(int x, int y) /设置窗口左上角的坐标,(0,0)为屏幕左上角Container getContentPane( ) /返回框架的内容面板void pack( ) /根据框架中放置的组件和布局调整窗口大小void setJMenuBar(JMenuBar menubar) /为框架设置菜单条void setDefaultCloseOperation(int operation) /设置关闭窗口后的默认操作,2、框架类JFrame,调用JFrame中的方法 setDefaultCloseOperation(int operati
12、on)用于关闭按钮处理方式的静态数据成员JFrame.DO_NOTHING_ON_CLOSE /关闭窗口按钮失效,什么也不做JFrame.DISPOSE_ON_CLOSE /隐藏窗口,释放窗口占用的其他资源JFrame.HIDE_ON_CLOSE /隐藏窗口,但没有关闭窗口JFrame.EXIT_ON_CLOSE /结束程序运行例如:jfrm.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);,2、框架类JFrame,ublic class Example1 public static void main(String args) JFrame f
13、 = new JFrame(空的框架); f.setSize(200,150); f.setLocation(100, 100); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ,2、框架类JFrame,框架窗口的创建。,import java.awt.Color; /加载java.awt包里的颜色类Colorimport java.awt.Image; /加载java.awt包里的图像类Imageimport javax.swing.*; /加载javax.swing包里的所有类public cla
14、ss App12_1 static JFrame jfrm=new JFrame(这是个Swing程序); /创建静态框架并设置标题 public static void main(String args) JLabel lab=new JLabel(我是一个标签); /创建一个标签对象lab Image im=(new ImageIcon(中国心.jpg).getImage(); /创建图标对象im jfrm. setIconImage(im); /设置窗口的显示图标 jfrm.setSize(250,140); /设置框架大小 jfrm.setBackground(Color.YELLOW
15、); /设置框架背景颜色为黄色 jfrm.setLocation(260,150); /设置窗口的位置 jfrm.add(lab); jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jfrm.setVisible(true); ,此处黄色并不能正常显示?,3、JPanel面板类,面板一种没有标题栏、没有边框的中间层容器面板不是顶层容器,必须放到其他容器内,也可以放入另一个面板内。Jpanel可以容纳其他组件,一般用于布局和定位默认的布局管理器FlowLayout,可以使用setLayout()改变默认布局管理器JPanel的构造方法有:
16、public JPanel(),以默认布局管理器创建一个面板对象;public JPanel(LayoutManager layout),以layout为布局管理器创建面板对象;,import javax.swing.*; /加载javax.swing包里的所有类import javax.swing.border.TitledBorder;/加载javax.swing.border包里的TitledBorder类public class App12_2 public static void main(String args) JFrame jfrm=new JFrame(我的框架); /创建框
17、架对象jfrm jfrm.setSize(210,180); jfrm.setLocation(500,400); JPanel jpan=new JPanel(); /创建面板对象jpan jpan.setSize(120,90); jpan.setLocation(40,30); JButton bun=new JButton(点击我); /创建命令按钮对象bun bun.setSize(80,20); bun.setLocation(20,30); jfrm.setLayout(null); /取消窗口jfrm的默认布局管理器 jpan.setLayout(null); /取消面板jpa
18、n的默认布局管理器 jpan.add(bun); /将命令按钮加入到面板中 jpan.setBorder(new TitledBorder(面板区); /为面板对象jpan设置边框 jfrm.add(jpan); /将面板对象jpan加入到窗口中 jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jfrm.setVisible(true); ,3、颜色类,用Color类的对象来控制每个Color对象代表一种颜色,用户可以直接使用Color类中定义好的颜色常量也可以通过调配红、绿、蓝三色的比例创建自己的Color对象Color类中定义有如下
19、的三种构造函数public Color(int Red, int Green, int Blue); public Color(float Red, float Green, float Blue);public Color(int RGB); Java.awt包中的常用类: import java.awt.Color;,3、颜色类,不论用哪个构造函数创建Color对象,都指定新建颜色中R(红)、G(绿)、B(蓝)三色的比例public Color(int Red, int Green, int Blue); 每个参数的取值范围在0255之间public Color(float Red, fl
20、oat Green, float Blue);每个参数的取值范围在0.01.0之间public Color(int RGB); 通过一个整型参数指明其RGB三色比例这个参数的07比特(取值范围为0255)代表红色的比例,815比特代表绿色的比例,1623比特代表蓝色的比例。,例如下面的语句创建的是蓝色Color blueColor = new Color(0,0,255);,3、颜色类,除了创建自己的颜色,也可以直接使用Color类中定义好的颜色常量,如 jfrm.setBackground(Color.YELLOW); frm.setBackground( new Color(200,255
21、,255) ); Color类中共定义了13种静态颜色常量包括black,orange,pink,grey等使用时只需以Color为前缀,非常方便建议用大写,参数取值0255,越大则表明这种颜色的成分越重。,3、颜色类,Color类的static常量和RGB值颜色常量颜色 RGB值public final static Color orange -橙色 255,200,0public final static Color pink -粉红色 255,175,175public final static Color cyan -青色 0,255,255public final static Co
22、lor magenta -紫红色 255,0,255public final static Color yellow -黄色 255,255,0public final static Color black -黑色 0,0,0public final static Color white -白色 255,255,255public final static Color gray -灰色 128,128,128public final static Color lightGray -浅灰色 192,192,192public final static Color darkGray -深灰色 64
23、,64,64public final static Color red -红色 255,0,0public final static Color green -绿色 0,255,0public final static Color blue -蓝色 0,0,255,3、颜色类,对于GUI的控制组件,它们有四个与颜色有关的方法分别用来设置和获取组件的背景色和前景色public void setBackground(Color c)public Color getBackground( )public void setForeground(Color c)public Color getForeg
24、round( ),4、字体类,字体类Font用来规范组件所用的字体样式、大小与字形等。构造方法: Font (String font_name, int style, int size),字体名称,字形样式:PLAIN、BOLD、ITALIC,字号大小,Java.awt包中的常用类: import java.awt.Font;设置字体:组件.setFont(Font font);Font fnt=new Font(Serief,Font.BOLD+Font.ITALIC,20); frm.setFont(fnt);,5、图像图标类,图像图标类ImageIconJava语言使用javax.swi
25、ng.ImageIcon类表示图标ImageIcon的常用构造方法public ImageIcon() 创建一个没有图像的图标public ImageIcon(String filename) 以文件名filename为图像文件创建一个图标对象publci ImageIcon(Image image) 以图像image为图像创建一个图标对象,5、图像图标类,支持3种图像格式GIF、JPEG、PNG范例 Image im=(new ImageIcon(中国心.jpg).getImage(); /创建图标对象im jfrm. setIconImage(im); /设置窗口的显示图标,32,主要内容
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 图形界面 设计 ppt 课件
链接地址:https://www.31ppt.com/p-1994940.html