《图形界面设计》PPT课件.ppt
《《图形界面设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《图形界面设计》PPT课件.ppt(61页珍藏版)》请在三一办公上搜索。
1、第十二章 图形用户界面,吴冬芹金陵学院信息科学与工程学院,2,主要内容,一、图形用户界面 二、图形用户界面工具包(Swing)三、创建组件 四、布局管理器,图形用户界面,图形用户界面(Graphics User Interface,GUI)用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令、启动操作,并将系统运行的结果同样以图形方式显示给用户的技术。Java的GUI程序设计是Java程序设计的基础。Java提供的两个处理图形用户界面的类库Java.awt包 和 javax.swing包,抽象窗口工具集,awt的扩展,根据给定环境调整外观和感觉。,图形用户界
2、面,1996年,Sun公司和Netsacpe公司在一个称为Swing的项目中合作完善了Netsacpe公司原来开发的一套GUI库,也就是现在所谓的Swing组件。JFC(Java Foundation Class)的概念是在1997年的JavaOne开发者大会上首次提出的,是指用于构建GUI的一组API。实际上,Swing只是JFC的一部分,其他的还有二维图形(Java 2D)API以及拖放(Drag and Drop)API等。,图形用户界面,Swing工具包作为AWT的扩展,并以AWT为基础Swing跨平台的灵活性,可以根据给定环境而调整他们的外观和感觉。重型组件AWT组件通常称为重型组件
3、,因为它在运行时需要一个与平台相关的本地组件为之服务。轻型组件Swing组件是纯Java编写的,不直接使用本地组件,所以通常称为轻型组件。Swing组件类的名字开头都有前缀”J”,6,主要内容,一、图形用户界面二、图形用户界面工具包(Swing)三、创建组件 四、布局管理器,Swing,Java图形用户界面的基本元素主要由图形用户界面工具包Swing提供。Java图形用户界面的基本元素包括:用户界面组件(组件类)、事件处理模块(事件类)、图形和图像工具(图形类、图像类)、布局管理器(布局类)等。它们主要在javax.swing包中。java组件类的继承关系见教材图12.1,1、Swing组件分
4、类,构成图形用户界面的类可以分为三组:(1)容器类(container class),包含其他组件的类顶层容器,能独立存在,是可以独立的窗口,JFrame,JApplet,JDialog非顶层容器,不能独立存在,不是独立的窗口,它们必须位于窗口之内,非顶层容器包括JPanel及JScrollPanel等一般独立应用程序使用JFrame,在上面放置Jpanel面板如果应用到浏览器中,使用JApplet,1、Swing组件分类,(2)辅助类(helper class)用来描述组件属性的,辅助类通常包含在java.awt包中.(3)组件类(component class)所有Swing GUI组件类
5、(除JFrame、JApplet和JDialog)都是JComponent类的子类例如,JButton、JTextField、JTextArea、JComboBox、JList、JRadioButton和JMenu等,Swing容器的层次关系,一般的Swing窗口,实际上包含几个“层次”它是Java应用程序的顶层容器。,顶层容器JFrame,根窗格,分层窗格,内容窗格,玻璃窗格,JFrame特点JFrame的内容窗格利用getContentPane()方法获取的Container类的对象。JFrame类对象显示效果是一个“窗口”,带有标题栏和尺寸重置角标iconImage图标对象。图像类型是i
6、mage,使用ImageIcon类创建图标对象。JMenuBar是框架的可选菜单默认为不可见,setVisible(true)方法使之可见默认的布局管理器是BorderLayout,使用setLayout()方法改变布局其他方法:setLocation()、setSize()、setBounds(),2、框架类JFrame,2、框架类JFrame,框架窗口的创建。,import java.awt.Color;/加载java.awt包里的颜色类Colorimport java.awt.Image;/加载java.awt包里的图像类Imageimport javax.swing.*;/加载java
7、x.swing包里的所有类public class 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.setBackgro
8、und(Color.YELLOW);/设置框架背景颜色为黄色 jfrm.setLocation(260,150);/设置窗口的位置 jfrm.add(lab);jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jfrm.setVisible(true);,2、框架类JFrame,jfrm.setSize(250,140);/设置框架大小 jfrm.setLocation(260,150);/设置窗口的位置,(0,0),260,150,3、JPanel面板类,面板一种没有标题栏、没有边框的中间层容器面板不是顶层容器,必须放到其他容器内,也可以
9、放入另一个面板内。Jpanel可以容纳其他组件,一般用于布局和定位默认的布局管理器FlowLayout,可以使用setLayout()改变默认布局管理器,import javax.swing.*;/加载javax.swing包里的所有类import javax.swing.border.TitledBorder;/加载包里的TitledBorder类public class App12_2 public static void main(String args)JFrame jfrm=new JFrame(我的框架);/创建框架对象jfrm jfrm.setSize(210,180);jfrm
10、.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);/取消面板jpan的默认布局管理器 jpan.add(bun);/将命令按钮加入到面板中 jpan.se
11、tBorder(new TitledBorder(面板区);/为面板对象jpan设置边框 jfrm.add(jpan);/将面板对象jpan加入到窗口中 jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jfrm.setVisible(true);,3、颜色类,用Color类的对象来控制每个Color对象代表一种颜色,用户可以直接使用Color类中定义好的颜色常量也可以通过调配红、绿、蓝三色的比例创建自己的Color对象Color类中定义有如下的三种构造函数public Color(int Red,int Green,int Blue);p
12、ublic 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);通过三个整型参数指定R,G,B,每个参数的取值范围在0255之间public Color(float Red,float Green,float Blue);通过三个浮点参数指定R,G,B,每个参数的取
13、值范围在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,255);Color类中共定义了13种静态颜色常量包括black,
14、orange,pink,grey等使用时只需以Color为前缀,非常方便建议用大写,参数取值0255,越大则表明这种颜色的成分越重。,3、颜色类,对于GUI的控制组件,它们有四个与颜色有关的方法分别用来设置和获取组件的背景色和前景色public void setBackground(Color c)public Color getBackground()public void setForeground(Color c)public Color getForeground(),4、字体类,字体类Font用来规范组件所用的字体样式、大小与字形等。构造方法:Font(String font_nam
15、e,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语言使用类表示图标支持3种图像格式:GIF、JPEG、PNG Image im=(new ImageIcon(中国心.jpg).getImage();/创建图标对象im jf
16、rm.setIconImage(im);/设置窗口的显示图标,22,主要内容,一、图形用户界面 二、图形用户界面工具包(Swing)三、创建组件 四、布局管理器,1、标签JLabel,标签是用户不能修改只能查看其内容的文本显示区域,它起到信息说明的作用每个标签用一个Label类的对象表示创建标签对象时应同时说明这个标签中的字符串:JLabel jlab=new JLabel(我是一个标签,JLabel.CENTER);水平对齐方式,可以单独设置也可以在创建时声明,一般有JLabel.LEFT,JLabel.RIGHT,JLabel.CENTER垂直对齐方式,有JLabel.TOP,JLabel
17、.BOTTOM,JLabel.CENTER,1、标签JLabel,在框架窗口中加入标签,并设置框架的底色及标签上文字的颜色和字体。,import java.awt.*;import javax.swing.*;public class App12_3 public static void main(String args)JFrame jfrm=new JFrame(标签类窗口);JLabel jlab=new JLabel(我是一个标签,JLabel.CENTER);/创建标签对象 jfrm.setLayout(null);/取消页面设置 jfrm.setSize(300,200);/设置窗
18、口的大小 jfrm.setBackground(Color.PINK);/设置窗口的底色为粉红色 jlab.setOpaque(true);/设置标签为不透明的 jlab.setBackground(Color.YELLOW);/设置标签底色为黄色 jlab.setForeground(Color.RED);/设置标的前景色为红色 jlab.setLocation(80,60);jlab.setSize(130,30);Font fnt=new Font(Serief,Font.BOLD+Font.ITALIC,20);/创建字体对象 jlab.setFont(fnt);/用创建的字体对象设置
19、标签上的字体 jfrm.add(jlab);jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jfrm.setVisible(true);,1、标签JLabel,在框架窗口中加入指定大小的标签,并设置当鼠标悬停在标签上时给出相应的提示信息。,import java.awt.*;import javax.swing.*;public class App12_4 public static void main(String args)JFrame jfrm=new JFrame(标签类窗口);JLabel jlab=new JLabel(我是一
20、个标签,JLabel.CENTER);/创建标签对象 jfrm.setLayout(null);/取消页面设置 jfrm.setSize(300,200);jfrm.setBackground(Color.PINK);Container c=jfrm.getContentPane();/获取jfrm的内容窗格 c.setBackground(Color.PINK);/设置内容窗格的背景色为粉红色 jlab.setOpaque(true);/设置标签为不透明的 jlab.setBackground(Color.YELLOW);jlab.setForeground(Color.RED);jlab.
21、setLocation(80,60);jlab.setSize(130,30);jlab.setToolTipText(我被设置为不透明状态);/为标签设置工具提示信息 Font fnt=new Font(Serief,Font.BOLD+Font.ITALIC,20);jlab.setFont(fnt);jfrm.add(jlab);jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jfrm.setVisible(true);,2、命令按钮JButton(javax.swing),用户用鼠标单击它来控制程序运行的流程。JButton创建后
22、通过容器的add()将其放入容器。举例:在框架窗口中加入按钮。,import javax.swing.*;public class App12_5 extends JFrame/指定App12_5继承自JFrame类 public static void main(String args)App12_5 jfrm=new App12_5();/用App12_5类创建框架对象jfrm jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ImageIcon ic=new ImageIcon(中国灯笼.jpg);/创建图标对象ic JButton
23、btn=new JButton(灯笼,ic);/创建具有文字和图标按钮对象 jfrm.setLayout(null);/取消页面设置 jfrm.setSize(200,180);jfrm.setTitle(按钮类窗口);btn.setBounds(50,45,100,40);/设置按钮的大小与位置 btn.setToolTipText(我是按钮);jfrm.add(btn);jfrm.setVisible(true);,3、复选框JCheck和单选按钮JRadioButton,JCheckBox和JRadioButton(javax.swing)JCheckBox可以单独使用而单选按钮必须配合
24、javax.swing包中的ButtonGroup类将其组成单选按钮组来使用。举例:在框架窗口内加入复选框和单选按钮组。,3、复选框JCheck和单选按钮JRadioButton,import javax.swing.*;public class App12_6 extends JFrame static JFrame frm=new JFrame(复选框和单选按钮组选取框);static JCheckBox jchk1=new JCheckBox(粗体,true);/初始状态为选中 static JCheckBox jchk2=new JCheckBox(斜体);static JCheckB
25、ox jchk3=new JCheckBox(下划线);static JRadioButton jrb1=new JRadioButton(红色);static JRadioButton jrb2=new JRadioButton(绿色,true);static JRadioButton jrb3=new JRadioButton(蓝色);,3、复选框JCheck和单选按钮JRadioButton,public static void main(String args)ButtonGroup grp=new ButtonGroup();/创建一个单选按钮组对象 frm.setLocation(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形界面设计 图形界面 设计 PPT 课件

链接地址:https://www.31ppt.com/p-5484597.html