Java程序设计案例教程-模块6.ppt
《Java程序设计案例教程-模块6.ppt》由会员分享,可在线阅读,更多相关《Java程序设计案例教程-模块6.ppt(138页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、模块六基于模块六基于SwingSwing的图形化用户界面的图形化用户界面设计设计 目标目标 在在Java.swingJava.swing包中,基于包中,基于SwingSwing的图形化用户界面设计主要包括的图形化用户界面设计主要包括窗体的创建、窗体布局、窗体的组件、窗体里菜单栏设置及窗体事窗体的创建、窗体布局、窗体的组件、窗体里菜单栏设置及窗体事件的处理等几部分内容。件的处理等几部分内容。学习本模块涉及哪些重要内容?本模块导读本模块导读在在JavaJava中,中,AWTAWT(Abstract Window ToolkitAbstract Window Toolkit)是用来处理图形的)是用来
2、处理图形的最基本的方式。最基本的方式。AWTAWT是是JavaJava早期的技术,它的组件消耗较多的资源,早期的技术,它的组件消耗较多的资源,因此因此SUNSUN公司开发出基于公司开发出基于AWTAWT的的SwingSwing类库,改进了类库,改进了AWTAWT消耗系统资消耗系统资源的缺点,同时改善了组件的外观。源的缺点,同时改善了组件的外观。SwingSwing是是JavaJava基本类库的一部基本类库的一部分,给分,给JavaJava程序提供了图形化得用户界面,并能够接收来自键盘、程序提供了图形化得用户界面,并能够接收来自键盘、鼠标和其它输入设备的事件响应。鼠标和其它输入设备的事件响应。S
3、wingSwing的所有成员都是的所有成员都是javax.swingjavax.swing包的一部分。包的一部分。在在Java.swingJava.swing包中,基于包中,基于SwingSwing的图形化用户界面设计主要包括窗的图形化用户界面设计主要包括窗体的创建、窗体布局、窗体的组件、窗体里菜单栏设置及窗体事体的创建、窗体布局、窗体的组件、窗体里菜单栏设置及窗体事件的处理等几部分内容。本模块主要介绍如何利用件的处理等几部分内容。本模块主要介绍如何利用Java.swingJava.swing包,包,设计简单的单机版考试系统的图形化用户界面。通过本模块的学设计简单的单机版考试系统的图形化用户界
4、面。通过本模块的学习和实训,学生应掌握了窗体的创建、窗体布局的设置、窗体组习和实训,学生应掌握了窗体的创建、窗体布局的设置、窗体组件的添加与设置、窗体菜单栏的设置及窗体事件的处理等理论知件的添加与设置、窗体菜单栏的设置及窗体事件的处理等理论知识。识。学习本模块涉及哪些重要内容?本模块要点本模块要点如何创建窗体如何创建窗体如何设置窗体的布局如何设置窗体的布局如何创建组件如何创建组件如何设置颜色和字体如何设置颜色和字体如何设置菜单栏如何设置菜单栏事件的处理事件的处理任务一任务一创建窗体创建窗体 子任务子任务1 1 创建单机版考试系统的登录窗体创建单机版考试系统的登录窗体 根据设计目标,下面创建单机
5、版考试系统的登录窗体根据设计目标,下面创建单机版考试系统的登录窗体实现该案例的代码如下实现该案例的代码如下 :import import javax.swingjavax.swing.*;.*;import import java.awtjava.awt.*;.*;class class EnglishTestEnglishTest extends extends JFrameJFrame 【1 1】EnglishTest(StringEnglishTest(String s)s)super(ssuper(s););【2 2】win.setBounds(100,100,300,300);win
6、.setBounds(100,100,300,300);【3 3】win.setVisible(truewin.setVisible(true););【4 4】setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSEsetDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE););【5 5】任务一任务一创建窗体创建窗体 子任务子任务1 1 创建单机版考试系统的登录窗体创建单机版考试系统的登录窗体 public static void public static void main(Stringmain(String
7、argsargs)EnglishTestEnglishTest win=new win=new EnglishTestEnglishTest(登录服务器登录服务器););【6 6】代码详解代码详解创建继承父类创建继承父类JFrameJFrame的子类的子类EnglishTestEnglishTest,用于创建窗体。,用于创建窗体。子类子类EnglishTestEnglishTest的构造函数内通过调用的构造函数内通过调用super(ssuper(s),调用父类,调用父类JframeJframe的构造方法。的构造方法。设置窗体的位置,即该窗体屏幕左上角的坐标为(设置窗体的位置,即该窗体屏幕左上角
8、的坐标为(100100像素,像素,100100像像素),窗体的高和宽分别为素),窗体的高和宽分别为300300像素。像素。任务一任务一创建窗体创建窗体 子任务子任务1 1 创建单机版考试系统的登录窗体创建单机版考试系统的登录窗体 设置窗体为可见,使用方法设置窗体为可见,使用方法setVisiblesetVisible()()设置窗体的可见否,参数设置窗体的可见否,参数为为truetrue时可见,时可见,falsefalse时不可见。时不可见。运用运用setDefaultCloseOperationsetDefaultCloseOperation()()的方法设置单击窗体右上角的关的方法设置单击
9、窗体右上角的关闭图标后,隐藏窗口并释放窗体占有的其它资源。创建一个新的窗闭图标后,隐藏窗口并释放窗体占有的其它资源。创建一个新的窗体,窗体名称为体,窗体名称为“winwin”,标题为,标题为“登录服务器登录服务器”。单机版考试系统的登录窗体如下图单机版考试系统的登录窗体如下图6-16-1所示:所示:图图6-16-1单机版考试系统的登录窗体单机版考试系统的登录窗体任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体 根据设计目标,下面创建单机版考试系统的主界面窗体根据设计目标,下面创建单机版考试系统的主界面窗体 实现该案例代码如下实现该案
10、例代码如下:import import javax.swingjavax.swing.*;.*;import import java.awtjava.awt.*;.*;class class EnglishTestEnglishTest extends extends JFrameJFrame EnglishTest(StringEnglishTest(String s)s)super(ssuper(s););win.setBounds(100,100,300,300);win.setBounds(100,100,300,300);win.setVisible(truewin.setVisib
11、le(true););setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSEsetDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE););public static void public static void main(Stringmain(String argsargs)任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体 EnglishTestEnglishTest win=new win=new EnglishTestEnglishTest(标
12、准化考试系统标准化考试系统););单机版考试系统的主界面窗体如下图单机版考试系统的主界面窗体如下图6-26-2所示:所示:图图6-26-2单机版考试系统的主界面窗体单机版考试系统的主界面窗体任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解JFrameJFrame类类创建一个基于创建一个基于SwingSwing的图形界面程序的第一步是创建一个代表图的图形界面程序的第一步是创建一个代表图形化用户界面的类。这个类的对象被用做容器,即包含了所有形化用户界面的类。这个类的对象被用做容器,即包含了所有其他要显示组件的容器组件
13、。创建一个基于其他要显示组件的容器组件。创建一个基于SwingSwing的图形界面的的图形界面的一种途径是把该界面作成一种途径是把该界面作成JFrameJFrame的一个子类,如下代码所示:的一个子类,如下代码所示:class class EnglishTestEnglishTest extends extends JFrameJFrame 任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解JFrameJFrame是是java.awtjava.awt包的包的FrameFrame类的子类。由于类的子类。由于JFram
14、eJFrame是重容器,是重容器,因此因此JFrameJFrame类或子类创建的对象也是重容器,也就是说类或子类创建的对象也是重容器,也就是说JFrameJFrame类在创建对象窗体时,不可以把组件直接添加到类在创建对象窗体时,不可以把组件直接添加到JFrameJFrame窗体中。窗体中。而是添加到而是添加到JFrameJFrame类的内容面板上,同时不能为类的内容面板上,同时不能为JFrameJFrame窗体设窗体设置布局,而应当为置布局,而应当为JFrameJFrame类窗体的内容面板设置布局。类窗体的内容面板设置布局。JFrameJFrame的窗体是由两部分组成:一部分是窗体上面很窄的区
15、域的窗体是由两部分组成:一部分是窗体上面很窄的区域成为菜单条区域,用来放置菜单条。下面一部分为内容面板,成为菜单条区域,用来放置菜单条。下面一部分为内容面板,用来添加各种组件盒进行布局。用来添加各种组件盒进行布局。JFrameJFrame类常用方法如下表类常用方法如下表6-16-1所所示:示:任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解表表6-1 6-1 JFrameJFrame类常用方法类常用方法方方 法法功功 能能 说说 明明JFrameJFrame()()创建一个无标题的窗口。创建一个无标题的窗口。JF
16、rame(StringJFrame(String s)s)创建一个标题为字符串变量创建一个标题为字符串变量s s的值的窗口。的值的窗口。setSize(intsetSize(int width,intwidth,int height)height)设置窗口的大小,窗口的默认位置(设置窗口的大小,窗口的默认位置(0,00,0)。)。setVisible(booleansetVisible(boolean b)b)设置窗口是可见还是不可见,默认是不可见的,设置窗口是可见还是不可见,默认是不可见的,b b的值为的值为truetrue或或falsefalse。setResizable(boolease
17、tResizable(boolean n b)b)设置窗口是否可以调整大小,默认是可调整大小的,设置窗口是否可以调整大小,默认是可调整大小的,b b的值的值为为truetrue或或falsefalse。setBounds(intsetBounds(int a,inta,int b,intb,int width,width,intint height)height)设置出现在屏幕上的出现的位置,前两个参数是该框架的设置出现在屏幕上的出现的位置,前两个参数是该框架的左上角定点在左面上的(左上角定点在左面上的(x,yx,y)坐标,后面两个参数是该框)坐标,后面两个参数是该框架的宽度和高度。架的宽度和
18、高度。任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解JDialogJDialog类类 JDialogJDialog是是java.awtjava.awt包中包中DialogDialog类的子类,通过类的子类,通过JDialogJDialog类可以创类可以创建模式对话框和非模式对话框。建模式对话框和非模式对话框。JDialogJDialog及其子类创建的对象必须及其子类创建的对象必须依附于依附于JFrameJFrame对象。对象。对话框分为无模式和有模式两种。有模式对话框处于激活状态时,对话框分为无模式和有模式两种
19、。有模式对话框处于激活状态时,只让程序响应对话框内部的事件,程序再不能激活它所依赖的窗只让程序响应对话框内部的事件,程序再不能激活它所依赖的窗口或组件,而且它将堵塞单签线程的执行,直到该对话框消失不口或组件,而且它将堵塞单签线程的执行,直到该对话框消失不可见。无模式对话框处于激活状态时,程序仍能激活它所依赖的可见。无模式对话框处于激活状态时,程序仍能激活它所依赖的窗口或组件,它也不堵塞线程的执行。窗口或组件,它也不堵塞线程的执行。J JdialogdialogFrameFrame类常用方法如下表类常用方法如下表6-26-2所示:所示:任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版
20、考试系统的主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解方方 法法功功 能能 说说 明明Jdialog(JFrame f,String S)使用使用JFrame类创建一个具有标题类创建一个具有标题S的非模式对话框。的非模式对话框。JDialog()创建一个非模式对话框。创建一个非模式对话框。Jdialog(JFrame f)创创建建一一个个具具有有标标题题的的初初始始不不可可见见得得对对话话框框,f是是对对话话框框所依赖的窗体。所依赖的窗体。JDialog(JFrame f,String S,boolean modal)创创建建一一个个具具有有标标题题标标题题S的的非非模模式式对
21、对话话框框,参参数数modal决定对话框有模式或无模式,决定对话框有模式或无模式,f是对话框所依赖的窗体。是对话框所依赖的窗体。getTitle()获取对话框的标题。获取对话框的标题。setTitle(String Str)设置对话框的标题。设置对话框的标题。setModal(boolean b)设置对话框的模式。设置对话框的模式。setSize()设置对话框大小。设置对话框大小。setVisible(boolean b)显示或隐藏对话框。显示或隐藏对话框。表表6-2 J6-2 Jdialogdialog类常用方法类常用方法任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的
22、主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解消息对话框消息对话框消息对话框是有模式对话框。消息对话框是有模式对话框。Javax.swingJavax.swing包中的包中的JOptionPaneJOptionPane类类的静态方法的静态方法showMessageDialogshowMessageDialog可以创建一个消息对话框,可以创建一个消息对话框,showMessageDialogshowMessageDialog方法的格式为如下:方法的格式为如下:Public static void show Message Dialog(component parentCompone
23、nt,String message,String title,int messageType)任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解其中参数其中参数 parent Component parent Component 指定消息对话框所依赖的组件,消指定消息对话框所依赖的组件,消息对话框会在该组件的正前方显示出来;息对话框会在该组件的正前方显示出来;message message 指定对话框上指定对话框上显示的消息显示的消息;title;title 指定对话框的标题;指定对话框的标题;message Ty
24、pemessage Type取下列有取下列有效值:效值:JOptionJOption Pane.WARNING_MESSAGEPane.WARNING_MESSAGE,JOptionJOption Pane.Pane.INFORMATION_MESSAGE,JOption Pane.ERROR_MESSAGE,INFORMATION_MESSAGE,JOption Pane.ERROR_MESSAGE,JOption Pane.QUESTION_MESSAGE JOption Pane.QUESTION_MESSAGE 或或 JOption Pane.JOption Pane.PLAIN_ME
25、SSAGEPLAIN_MESSAGE。这些值可以确定对话框的外观,如取值。这些值可以确定对话框的外观,如取值JOption JOption Pane.WARNING_MESSAGE Pane.WARNING_MESSAGE 时,对话框的外观会有明显的时,对话框的外观会有明显的“!”符符号。号。确认对话框确认对话框任务一任务一创建窗体创建窗体 子任务子任务2 2 创建单机版考试系统的主界面窗体创建单机版考试系统的主界面窗体知识点详解知识点详解确认对话框是有模式对话框,确认对话框是有模式对话框,Javax.swingJavax.swing 包中的包中的JOptionPaneJOptionPane
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 案例 教程 模块
限制150内