Java图形界面设计.ppt
《Java图形界面设计.ppt》由会员分享,可在线阅读,更多相关《Java图形界面设计.ppt(92页珍藏版)》请在三一办公上搜索。
1、第12章图形界面设计,2,本章主要内容,12.1 图形用户界面设计12.2 图形用户界面工具包Swing12.3 创建组件12.4 布局管理器,3,12.1 图形用户界面设计,图形用户界面(Graphics User Interface,GUI)用图形的方式,借助菜单。按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令、启动操作,并将系统运行的结果同样以图形方式显示给用户的技术。Java的GUI程序设计是Java程序设计的基础。,4,12.1 图形用户界面设计,Java提供的两个处理图形用户界面的类库:Java.awt包和javax.swing包,Sun已经提供了一个跨平台GUI
2、开发工具包java.awt(抽象窗口工具箱),Sun又开发了一个新的GUI开发工具包javax.swing解决了awt中存在的本地化问题,5,12.1 图形用户界面设计,AWT 和 Swing 是 Java 设计 GUI 用户界面的基础.与AWT 的重量级组件不同,Swing 中大部分是轻量级组件。正是这个原因,Swing 几乎无所不能,不但有各式各样先进的组件,而且更为美观易用.所以一开始使用 AWT 的程序员很快就转向使用 Swing 了。但是因为 Swing 是架构在 AWT 之上的,没有 AWT 就没有 Swing。所以程序员可以根据自己的习惯选择使用 AWT 或者是 Swing。但是
3、,最好不要二者 混用除开显示风格不同不说,还很可能造成层次(Z-Order)错乱,6,12.2图形用户界面工具包Swing,Java图形用户界面的基本元素包括:用户界面组件(组件类)事件处理模块(事件类)图形和图像工具(图形类、图像类)布局管理器(布局类)它们主要都在javax.swing包中,Swing是Java包的一部分。,7,8,12.2.1 Swing组件分类,组件:构成图形用户界面的各种元素。构建图形用户界面的类可以分成三组:容器类(container class)辅助类(helper class)组件类(component class)。,9,12.2.1 Swing组件分类,容器
4、类容器类组件中可以包含其他组件,也可以包含其他容器。容器又分为两种:顶层容器和非顶层容器。顶层容器是可以独立的窗口,Swing的顶层容器有JFrame、JApplet和JDialog等。非顶层容器,不是独立的窗口,它们必须位于窗口之内,非顶层容器包括JPanel及JScrollPanel等。,10,12.2.1 Swing组件分类,辅助类和组件类都属于非容器类组件不能包含其他组件的组件,其种类较多。辅助类辅助类是用来描述组件属性的,辅助类通常包含在java.awt包中,Swing组件不能取代AWT的全部类,只能替代AWT的GUI组件类,AWT辅助类保持不变。组件类所有Swing GUI组件类(
5、除JFrame、JApplet和JDialog)都是JComponent类的子类,例如,JButton、JTextField、JTextArea、JComboBox、JList、JRadioButton和JMenu等。Swing轻型组件分类参见教材P202 表12.1,11,12.2.1 Swing组件分类,一般独立应用程序主要是要框架JFrame作为容器,在JFrame上通过放置JPanel面板来控制图形界面的布局;如果应用到浏览器中,则主要使用JApplet来做容器。JApplet是一个能够嵌入到浏览器中运行的特殊容器。,12,12.2.1 Swing组件分类,1.Swing容器的层次关系
6、一般的Swing窗口,实际上包含几个“层次”。,13,12.2.1 Swing组件分类,1.Swing容器的层次关系一般的Swing窗口,实际上包含几个“层次”,各个层的关系如教材P202 图12.2所示。顶层容器。是一个窗口容器对象,该对象包含了Swing窗口的各个层次,在该对象里面可以加入其它窗口对象。根窗格。是在创建顶层容器后自动创建的,供Swing顶层容器在后台使用,是顶层容器中做包含的最内层,通常无法在这一层上做任何操作与处理。分层窗格。加入分层窗格中的组件可以设置其图层层次,且不会被内容窗格中的对象屏蔽。是其它窗格的父级。,14,12.2.1 Swing组件分类,菜单栏。菜单栏被添
7、加到分层窗格的顶部。是可选的。内容窗格。是分层窗格中的某一层,是一个JPanel对象,在窗体中起着工作区的作用。可以放置大部分的可见组件。玻璃窗格。主要用来产生绘图效果,以及用来触发窗口程序的各种事件。玻璃窗格浮在最上面,默认情况下是隐藏的。,15,12.2.1 Swing组件分类,16,12.2.1 Swing组件分类,2.框架类JFrame是Java应用程序的顶层容器。JFrame是java.awt.Frame的扩展版本,是一个window子类,在使用Swing类库实现用户图形接口,必须继承该类。JFrame容器包括窗口标题、窗口外观、窗口边界、调整窗口大小的图标、关闭和最小化窗口的图标。
8、并且可以直接在容器上添加组件,如按钮、文本等。,17,12.2.1 Swing组件分类,构造方法:public JFrame()throws HeadlessException。创建了一个新的容器窗口,默认该窗口是不可见的。public JFrame(String title)throws HeadlessException 创建一个新的容器窗口,通过方法的参数设置窗口标题,该窗口默认是不可见的。,18,12.2.1 Swing组件分类,该类的常用方法(P203-204)getContentPane()该方法返回一个框架对象,使用该框架对象来添加组件,如增加按钮、菜单、工具栏、列表框等组件。s
9、etSize(int width,int hight)设置窗口尺寸、窗口大小以像素为单位计算。getJMenuBar()返回此窗体上设置的菜单栏。setJMenuBar(JMenuBarmenubar)设置此窗体的菜单栏。setIconImage(Imageimage)设置要作为此窗口图标显示的图像。,19,例App12_1,辅助类,组件类,20,例App12_1,为什么在该实例中被没有显示背景色?JFrame默认采用了FlowLayout布局管理器,你的组件在该布局管理器中被塞满整个frame,挡住了背景。就是说,实际上JFrame还是有背景的一般用JFrame的时候要初始化一个JPanel
10、,把组件放在JPanel里,然后把JPanel放到JFrame里,这样可以较好的控制组建位置等其他的东西。在这种方式下直接给JPanel设置setBackground就可以一直看到背景了,命令提示符环境,21,例App12_1_1,22,例App12_1_1,例App12_1_2,23,12.2.1 Swing组件分类,3.面板类JPanel面板是一种没有标题栏、没有边框的中间层容器,在该容器上可以放置其他组件如单选按钮、列表框等。还可以包含其他容器,如一个新的JPanel对象,从而方便地实现容器的嵌套。在面板创建后是无法单独显示的。面板不是顶层容器,必须放到其他容器内,也可以放入另一个面板内
11、。必须放在JFrame或Applet这样的顶层窗口中才可以显示。一个界面只可以有一个JFrame窗体组件,但可以有多个JPanel面板组件,24,12.2.1 Swing组件分类,3.面板类JPanel该类的构造函数:JPanel():创建一个面板,并且该面板组件的布局管理器为FlowLayout()。JPanel(LayoutManager layout):创建一个面板,且该面板设置了指定的布局管理器。布局管理器管理在容器上放置的组件,具体的内容会在12.4节详细介绍。,25,12.2.1 Swing组件分类,3.面板类JPanel常用方法:,JPanel默认的布局管理器是FlowLayou
12、t,可以使用setLayout()方法改变其默认布局。也可以采用包含它的容器不同的布局管理器。,26,例App12_2,在框架中加入面板,27,例App12_2,在框架中加入面板,28,例App12_2,在框架中加入面板,29,12.2.1 Swing组件分类,4.组件类又称控制组件(控件),它里面不能包含其他组件。作用:完成与用户的交互,包括接收用户的命令、接收用户输入的文本或用户的选择、向用户显示文本或图形。常用控件:命令类、选择类、文字处理类等。,30,12.2.1 Swing组件分类,5.图形界面设计的步骤创建组件(Component):创建组成界面的各种元素,如按钮、文本框等。指定布
13、局(Layout):根据具体需要排列界面上各元素的位置关系。响应事件(Event):定义图形用户界面的事件和各界面元素对不同事件的响应,从而实现图形用户界面与用户的交互功能。,31,12.2.2 颜色类、字体类、图像图标类,1.颜色类Color属于java.awt每种颜色均看作是由红(R)、绿(G)、蓝(B)三色组成。构造方法:Color(int r,int g,int b)颜色常量值 Color.black,Color.blue,Color.gray,Color.red Color.white 例如 Color c=new Color(int rgb),参数取值0255,越大则表明这种颜色的
14、成分越重。,32,12.2.2 颜色类、字体类、图像图标类,2.字体类Font用来规范组件所用的字体样式、大小与字形等。构造方法:Font(String font_name,int style,int size),字体名称,字形样式:PLAIN、BOLD、ITALIC,字号大小,33,Font类的成员方法 public string getName():获得字体的名称 public int getStyle():获得字体的样式 public int getSize():获得字体的大小 public boolean isPlain():若字体是正常型,则返回true public boolean
15、 isBold():若字体是粗体,则返回true public boolean isItalic():若字体是斜体,则返回true,12.2.2 颜色类、字体类、图像图标类,34,12.2.2 颜色类、字体类、图像图标类,3.图标图像类ImageIconJava语言使用类表示图标。表12.12给出了ImageIcon类的常用构造方法,表12.13给出了ImageIcon类的常用方法。,35,Java中Image类与ImageIcon类的区别,Image类一般尺寸过大,不适合作ImageIcon类。ImageIcon imageIcon=new ImageIcon(“duke.gif”);/Ic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 图形界面 设计

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