Java应用开发与实践-第7章图形用户界面设计1.ppt
《Java应用开发与实践-第7章图形用户界面设计1.ppt》由会员分享,可在线阅读,更多相关《Java应用开发与实践-第7章图形用户界面设计1.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java应用开发与实践第第二二部分部分 酒店管理系统的设计酒店管理系统的设计了解图形用户界面及awt和swing两个相关的包掌握三大布局管理器的使用了解容器和组件的概念掌握常见的容器和组件的使用n 7.1 图形用户界面简介图形用户界面简介n 7.2 三大布局管理器三大布局管理器n 7.3 容器容器n 7.4 组件组件n 7.5 实训实训7 图形用户界面设计的基础练习图形用户界面设计的基础练习目录目录7.1 图形用户界面简介lGUI是指采用图形方式显示的计算机操作环境用户接口。l在图形用户界面中,计算机画面上显示窗口、图标、按钮等图形表示不同目的的动作,用户通过鼠标等指针设备进行选择。它包括视窗
2、、表格、文本框、文件界面、标签、菜单、图标和按钮等元素。l图形用户界面为用户提供了丰富的元素,用户通过窗口、菜单、按键等方式来方便地进行操作。7.1.1 认识图形用户界面(GUI)7.1 图形用户界面简介ljava.awt包,即Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能,属重量级控件,主要提供字体/布局管理器。ljavax.swing包(商业开发常用),在awt的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。主要提供各种组件(窗口/按钮/文本框)。lJava包java.awt和ja
3、vax.swing是Java设计GUI用户界面的基础。与awt的重量级组件不同,swing中大部分是轻量级组件。lswing是架构在awt之上的,没有awt就没有swing。所以我们可以根据自己的习惯选择使用awt或者是swing。7.1.2 awt与swing简介GUI各个类之间的包含关系在实际的开发中,代码需要引入代码需要引入awtawt和和swingswing这两个包这两个包。7.2 三大布局管理器l容器只管将其他组件放入其中,而不管这些组件是如何放置的。对于布局的管理交给专门的布局管理器类(LayoutManager)来完成。lJava 已经为我们提供了几个常用的布局管理器类,例如:F
4、lowLayout、BorderLayout、GridLayout、GridBagLayout等。7.2 三大布局管理器l边界布局把整个窗口分成了5个部分,上北、下南、左西、右东,剩下的是中部。其中,北和南是整行,而中/西/东都不是整列。一般只会出现2个或3个部分。组件放入时需要指定放在哪个区域,默认放在中部。每个部分只能存放一个组件,如果存放多个就会覆盖先前放置的组件。如果想放多个组件,必须借助面板(JPanel)。组件在边框布局中不保持原始大小,会充满整个区域。lJFrame的默认布局就是边框布局。如果某个部分不出现,这个区域会被出现的部分挤占。7.2.1 边界布局BorderLayout
5、边界布局BorderLayout7.2 三大布局管理器JButton jb1,jb2,jb3,jb4,jb5,jb6; /定义组件jb1=new JButton(中); /创建组件jb2=new JButton(东);jb3=new JButton(西);jb4=new JButton(南);jb5=new JButton(北);jb6=new JButton(不知道);this.add(jb1,BorderLayout.CENTER); /添加组件this.add(jb2,BorderLayout.EAST);this.add(jb3,BorderLayout.WEST);this.add(
6、jb4,BorderLayout.SOUTH);this.add(jb5,BorderLayout.NORTH);7.2.1 边界布局BorderLayout7.2 三大布局管理器l流式布局像在书本上的字一样从左向右排列,流式布局中的组件也是从左向右排列,一行排满后自动换下一行。组件默认居中对齐,可以设置为左/右对齐。流布局会维持组件的原始大小。l流式布局是JPanel(面板)的默认布局。 l容器可以使用setLayout()方法改变布局。7.2.2 流式布局FlowLayout流式布局FlowLayoutJButton jb1, jb2, jb3, jb4, jb5, jb6;jb1 = n
7、ew JButton(1);jb2 = new JButton(2);jb3 = new JButton(3);jb4 = new JButton(4);jb5 = new JButton(5);jb6 = new JButton(6);this.add(jb1);this.add(jb2);this.add(jb3);this.add(jb4);this.add(jb5);this.add(jb6);/ 设置流式布局管理器(左右对齐中对齐)this.setLayout(new FlowLayout(FlowLayout.RIGHT);7.2.2 流式布局FlowLayout7.2 三大布局管
8、理器l网格布局就是把窗口分成几行几列的表格方式,构造时需要指定行数和列数。组件在网格布局中不保持原始大小,会充满整个区域。组件在网格布局中,一个格子只放一个组件,按照先后顺序自动向后排列。7.2.3 网格布局GridLayout7.2 三大布局管理器JButton jb1, jb2, jb3, jb4, jb5, jb6;jb1 = new JButton(1);jb2 = new JButton(2);jb3 = new JButton(3);jb4 = new JButton(4);jb5 = new JButton(5);jb6 = new JButton(6);this.add(jb1
9、);this.add(jb2);this.add(jb3);this.add(jb4);this.add(jb5);this.add(jb6);this.setLayout(new GridLayout(3,3,10,10); /设置网格布局管理器7.2.3 网格布局GridLayout7.3 容器l容器是一种保存和组织其他组件的特殊的组件,在swing中,容器可以用来设置布局管理器,用于管理容器中组件、布局组织界面,容器中可以添加容器和组件。常用的容器有如下几种: l顶层容器:JFrame,JApplet,JDialog,JWindow l中间容器:JPanel,JScrollPane,JS
10、plitPane,JToolBar l特殊容器:在GUI上起特殊作用的中间层,如JinternalFrame,JlayeredPane,JrootPane。l其中顶级容器可独立存在,而普通容器:如JPanel、JScrollPane,不能独立存在,必须放在其他容器中。7.3.1 基本容器组件7.3 容器lJFrame窗体是一种容器,窗体是显示为具有标题栏的独立窗口,窗体可以用鼠标来改变大小,用JFrame类来定义。lJFrame 类允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。lJFrame表面上显得很简单,实际上它是 swing 包中最复杂的组件。为了最大程度地简化组
11、件,在独立于操作系统的 swing 组件与实际运行这些组件的操作系统之间,JFrame 起着桥梁的作用。lJFrame 在本机操作系统中是以窗口的形式注册的,这么做之后,就可以得到许多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动等。7.3.2 JFrame窗体public class Demo7_1 public static void main(String args) JFrame jf = new JFrame(my java window); jf.setSize(300,400);/设置窗体大小jf.setBounds(300,200,500,400); /设置窗体的位置
12、和大小(x,y,width,height)jf.setVisible(true); /设置窗体可见7.3.2 JFrame窗体创建窗体并直接设置标题7.3 容器l面板是一种swing的非顶层容器,因为它也继承了java.awt.Container类,它可以作为容器容纳其他组件,但面板不能独立显示,必须被添加到其它容器中。lswing组件中常用的面板包括JPane面板以及JScrollPane面板。7.3.3 面板7.3 容器JPanel面板lJPanel面板是最常用的一种面板,它可以聚集其他的组件来布局。l通常,一个界面只能有一个JFrame 窗体组件,但是可以有多个JPanel面板组件,而且
13、在JPanel上也是可以用FlowLayOut,BorderLayOut,GirdLayOut等各种布局管理器,这样组合使用,可以达到较为复杂的布局效果。lJPanel的默认布局为FlowLayout。7.3.3 面板1. JPanel面板创建及使用JPanel的步骤如下:1) 声明并创建JPanel对象。 2) 将其它组件加入到JPanel对象。3) 将JPanel对象加入到某个容器。JPanel类的常用构造方法有:lJPanel(),创建一个JPanel对象。 lJPanel(LayoutManager layout),创建JPanel对象时指定布局layout。 7.3.3 面板/ 创建
14、面板jp1,jp2,jp3JPanel jp1 = new JPanel();JPanel jp2 = new JPanel();JPanel jp3 = new JPanel();/ 往面板对象中添加按钮组件jp1.add(new JButton(按钮1);jp2.add(new JButton(按钮2);jp3.add(new JButton(按钮3);/ 在面板中添加完按钮后,要把面版放在容器中,首先要创建容器Container jpcon = getContentPane();/ 容器创建好了之后就可以将面板放进去jpcon.add(jp1);jpcon.add(jp2);jpcon.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 应用 开发 实践 图形 用户界面 设计
限制150内