当前位置:首页 >> 电力/水利 >>

任务单6


日照职业技术学院
任务单 6
学习情境 任务名称 学生在线考试系统(单机版) 创建登录界面中的容器与组件 布置任务 ? ? ? ?

java 实战任务工单

知识 目标

了解 AWT 和 Swing 的区别和联系。 掌握容器的概念及其分类。 掌握容器 JFame、JPanel、JDialog 的使

用。 掌握组件 JButton、JLabel、JTextFiled、JTextArea 和 JPasswordField 的 使用。 ? 掌握将组件添加到容器中方法。 ? ? 会编程实现基本的登录界面 会使用 Eclipse 自带的图形界面进行普通界面的绘制

学习目标

能力 目标

社会 目标

? ? ?

具有团队协作精神 勇于担当的精神 任劳任怨的精神

任务 1 构建用户登录界面 任务描述

任务 2 提供用户名和密码输入的编辑区域 任务 3 创建相应功能模块的各个按钮 ? ? ? ? JAVA 语言编程类教材; JAVA 语言编程课件、试验虚拟资源; 认真阅读任务描述,掌握所需完成的任务; 根据预习中遇到的疑难问题,通过查找资料、网上搜索、观看录像的方式认真完成资

提供资料

对学生的 要求

讯; ? ? ? 每名学生根据工作任务结合制定计划,由组长组织讨论,做出决策并实施; 实施结束后进行自我评价、组内互评、教师评价; 将所完成任务形成技术文档进行存档; 4 学时

学时安排

日照职业技术学院
资讯单 6
学习情境 任务名称 资讯方式 学生在线考试系统(单机版) 创建登录界面中的容器与组件 书籍查找、网络搜索

java 实战任务工单

资讯问题
1、 java 图形开发包支持 java 语言的哪一项特性?( A ) A. 安全性 B.跨平台性 C.健壮性 D.多态性 2、 下列哪一项不属于 AWT 提供的图形图像工具?(B ) A. 形状 B.按钮 C.颜色 D.字体 3、 下列说法中错误的是( B ) A. JFrame 可以作为最外层的容器单独存在 B. JPanel 可以作为最外层的容器单独存在 C. JFrame 实例化时,没有大小也不可见 D. JPanel 类可以作为对象放入 JFrame 容器 4、 进行 java 基本的 GUI 设计需要用到的包是( C A. java.io B.java.sql C.java.awt D.java.util 5、 Container 是下列哪一个类的子类?( D ) A. Graphics B.Windows C.Applet D.Component D ) )

6、 下列哪一项不属于 Swing 的顶层对象?( A. JDialog B.JFrame C.JApplet D.JPanel

7、 java 图 形 用 户 界 面 技 术 的 发 展 经 历 了 两 个 阶 段 , 具 体 体 现 在 开 发 包 上 是 ____AWT_____ 和 _______Swing______。 8、 JPanel 既是___容器_____又是____组件__________。 9、 Java 的 Swing 包中定义了两种对象:______最顶层容器______和__轻量级组件_____。 10、 11、 Swing 对象都是 AWT 的 Container 类的____直接______子类和____间接______子类。 容器的___嵌套_____是指将一个包含多个对象的容器作为一个对象加入另一个容器中。

日照职业技术学院
信息单 6
学习情境 任务名称 序号 6.1 学生在线考试系统(单机版) 创建登录界面中的容器与组件 信息内容 任务描述

java 实战任务工单

本章所要完成的任务是创建用户登录界面中的容器与组件。用户登录界面设计为图形用户界面 (Graphics User Interface,GUI),作为整个考试系统的入口,它需要用户进行必要的身份验证,因此包 含了最基本的要素——提供用户名和密码输入的编辑区域,引导用户进入相应功能模块的【登录】、【注 册】、【取消】按钮,如图 6-1 所示。将详细介绍如何构建一个用户登录界面,以及创建界面上的相关组 件的方法。

6.2

技术要点

(一)AWT和Swing Java的抽象窗口工具包(Abstract Window Toolkit,AWT)提供了支持GUI设计的类和接口,AWT由 java.awt包提供。 AWT中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系。也就是说,当我们利用AWT 来构建图形用户界面的时候,实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提 供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在,因此为了实现Java语言 “一次编译,到处运行”的特性,AWT 不得不通过牺牲功能来实现其平台无关性,也即AWT只拥有所有平 台上都存在的组件的公有集合。例如,在Motif平台上,按钮是不支持图片显示的,因此AWT按钮不能插入 图片。由于AWT是依靠本地方法来实现其功能的,因此通常把AWT控件称为重量级组件。 由于AWT不能满足图形化用户界面发展的需要,Java 2(JDK 1.2)推出后,增加了一个新的Swing包, 由javax.swing提供。Swing是在AWT的基础上构建的一套新的图形界面系统。它提供了比AWT更强大和更灵 活的组件,并且所有组件都完全用Java书写,因此具有良好的跨平台性。由于在Swing中没有使用本地方 法来实现图形功能,因此通常把Swing组件称为轻量级组件。 在实际应用中,由于AWT 是基于本地方法的C/C++程序,其运行速度比较快,对于一个嵌入式应用来 说,目标平台的硬件资源往往非常有限,AWT成为了嵌入式Java的第一选择。Swing是基于AWT的Java程序, 其运行速度比较慢,也就是通过牺牲速度来实现应用程序的功能。一般在标准版的Java中,我们为了强化 应用程序的功能而提倡使用Swing。 1.Swing框架 对Swing最普遍的错误概念是认为其设计目的是用来替代AWT的。事实上,Swing是建立在AWT之上的。 Swing能利用AWT的下层组件,包括图形、颜色、字体、工具包和布局管理器。在javax.swing包中,定义 了两种类型的组件:顶层容器(JFrame、JApplet、JDialog和JWindow)和轻量级组件。Swing组件都是 Container类的直接子类或间接子类。 Swing提供了许多新的图形界面组件。Swing组件以“J”开头,除了有与AWT类似的按钮(JButton)、

日照职业技术学院

java 实战任务工单

标签(JLabel)、复选框(JCheckBox)、菜单(JMenu)等基本组件外,还增加了一个丰富的高层组件集合,如 表格(JTable)、树(JTree)等。 Swing的基本框架如图6-2所示。

图6-2 Swing的基本框架 我们主要以Swing中的组件进行图形界面设计,涉及到的字体、颜色、布局等则是利用AWT工具包的相 关类,详细内容我们将在后续部分进行介绍。 2.建立GUI的步骤 Java中的图形界面的程序设计包括以下几个步骤: (1) 创建组件:组件的建立通常在应用程序的构造函数或main()方法内完成。 (2) 将组件加入容器:所有的组件必须加入到容器中才可以被显示出来,而容器可以加入另一个容器 中。 (3) 配置容器内组件的位置:让组件固定在特定位置,或利用布局管理来管理组件在容器内的位置, 让GUI的显示更具灵活性。 (4) 处理由组件所产生的事件:处理事件使得组件具有一定功能。例如,在按下按钮后,有方法来完 成一系列的功能。 (二)容器 Java图形用户界面中最基本的组成元素就是组件,组件的作用就是描述以图形化的方式显示在屏幕上 并能与用户进行交互的GUI元素,例如按钮、文本框等。一般的组件是不能独立地显示出来的,必须依赖 于容器才能显示。容器是一种比较特殊的组件,它可以包含其他的组件,也可以包含容器,称为容器的嵌 套。Swing中的容器包括顶层容器和中间容器。 顶层容器是可以独立存在的容器,可以把它看成一个窗口。顶层容器是进行图形编程的基础,其他的 Swing组件必须依附在顶层容器中才能显示出来。 在Swing中, 顶层容器有三种, 分别是JFrame(框架窗口)、 JDialog(对话框)和JApplet(用于设计嵌入在网页中的Java小程序)。 中间容器不能独立存在,与顶层容器结合使用可以构建较复杂的界面布局。这些中间容器主要包括: ■ JPanel:最灵活、最常用的中间容器。 ■ JScrollPane:与JPanel类似,但还可在大的组件或可扩展组件周围提供滚动条。

日照职业技术学院

java 实战任务工单

■ JTabbedPane:包含多个组件,但一次只显示一个组件,用户可以在组件之间方便地切换。 ■ JToolBar:按行或列排列一组组件(通常是按钮)。 我们重点讲解JFrame和JPanel的使用。 1.顶层容器(JFrame类) JFrame类一般用于创建应用程序的主窗口,所创建的窗口默认大小是0,须使用setSize设置窗口的大 小;JFrame窗口默认是不可见的,须使用setVisible(true)才能使其可见。JFrame类通过继承父类提供了 一些常用的方法来控制和修饰窗口,如表6-1所示。
常用构造函数及方法 JFrame() JFrame(String title) public void setDefaultCloseOperation(int operation) void setLayout(LayoutManager mgr) void setSize(int width, int height) void setLocation(int x, int y) void setTitle(String title) void setVisible(boolean b) 用 途 创建一个初始时不可见的新窗口 创建一个初始时不可见的、具有指定标题 的新窗口 设置用户在窗口上单击“关闭”时执行的 操作 设置窗口的布局管理器 设置窗口的大小 设置窗口的左上角坐标 设置窗口标题栏显示的标题 设置窗口的显示或隐藏属性

利用JFrame类创建一个窗口的方法有两种,即直接定义JFrame类的对象来创建一个窗口,或者通过继承 JFrame类来创建一个窗口。通常我们利用第二种方法,因为通过继承可以创建自己的变量或方法,更具灵 活性。 方法一:直接定义JFrame类的对象创建一个窗口。 例6-1 JFrameDemo1.java 1 import javax.swing.*; 2 public class JFrameDemo1{ 3 public static void main( String args[]) { 4 JFrame f = new JFrame("一个简单窗口"); 5 f.setLocation(300, 300); 6 f.setSize(300,200); 7 f.setResizable(false); 8 f.setVisible( true); 9 f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); 10 } 11 } 方法二:通过继承 JFrame类创建一个窗口。 例6-2 JFrameDemo2.java 1 import javax.swing.*; 2 class MyFrame extends JFrame{ 3 MyFrame(String title){ 4 super(title); 5 setLocation(300,300); 6 setSize(300,200); 7 setResizable(false); 8 setVisible(true); 9 setDefaultCloseOperation(EXIT_ON_CLOSE); 10 } 11 } 12 public class JFrameDemo2{

日照职业技术学院

java 实战任务工单

13 public static void main( String args[]) { 14 new MyFrame("一个简单窗口"); 15 } 16 } 运行JFrameDemo1.java和JFrameDemo2.java程序的结果是一致的,屏幕上将会显示出一个300×200, 位于显示器左上角(300,300)的空白窗口。该窗口除了标题之外什么都没有,因为还没有在窗口中添加任 何组件,显示效果如图6-3所示。

图6-3 Swing窗口 2.中间容器(JPanel类) JPanel类在Java中又称为面板,属于中间容器,本身也属于一个轻量级容器组件。由于JPanel类 透明且没有边框,因此不能作为顶层容器,不能独立显示。它的作用就在于放置Swing轻量级组件,然后 作为整体安置在顶层容器中。使用JPanel类结合布局管理器,通过容器的嵌套使用,可以实现对窗口的复 杂布局。正是因为这些优点,使得JPanel类成为最常用的容器之一。JPanel类的常用构造函数和方法如表 6-2所示。
常用构造函数及方法 JPanel() JPanel(LayoutManager layout) void add(Component comp) void setBackground(Color c) void setLayout(LayoutManager mgr) 用 途 创建一个 JPanel 中间容器 创建一个 JPanel 中间容器,具有指定的布局管理 将组件添加到 JPanel 面板上 设置 JPanel 的背景色 设置 JPanel 的布局管理

如图6-4所示, 在窗口中定义三种颜色的区域, 其中定义两个中间容器pan1和pan2, 分别将pan2(黄色) 放置于pan1(红色)中,pan1放在顶层容器fr(绿色)中。

Pan1

Pan2

图6-4

JPanel示例

日照职业技术学院

java 实战任务工单

例6-3 TwoPanel.java 1 import java.awt.*; 2 import javax.swing.*; 3 class TwoPanel extends JFrame { 4 public TwoPanel( String title){ 5 super(title); 6 } 7 public static void main(String args[]) { 8 TwoPanel fr=new TwoPanel("Two Panel测试"); 9 JPanel pan1 = new JPanel(); 10 JPanel pan2 = new JPanel(); 11 fr.setLayout(null); 12 fr.getContentPane().setBackground(Color.green); 13 fr.setSize(250,250); 14 pan1.setLayout(null); 15 pan1.setBackground(Color.red); 16 pan1.setSize(150,150); 17 pan2.setBackground(Color.yellow); 18 pan2.setSize(50,50); 19 pan1.add(pan2); 20 fr.getContentPane().add(pan1); 21 fr.setVisible(true); 22 } 23 } 从上例中可以看到,JFrame属于顶层容器,可以用来放置Swing组件,但是不能将组件(按钮、标签等) 直接放置在JFame定义的窗口中,而是必须先获得与JFrame关联的内容面板(ContentPane),然后将组件添 加到该内容面板中。 pan1作为组件添加至窗口fr中,采用的语句是: fr.getContentPane().add(pan1); 不能直接写成 fr.add(pan1)。 若要将组件放置于JPanel中,不需要使用getContentPane(),而是让JPanel 对象直接使用add方法即 可,例如,pan1.add(pan2)。 3.对话框(JOptionPane) 利用JDialog类可以创建对话框,但是必须创建对话框中的每一个组件,但大多对话框只需显示提示 的文本,或者进行简单的选择,这时候可以利用JOptionPane类。 通过创建JOptionPane对象所得到的对话框是模式对话框,也即必须先关闭对话框窗口才能回到产生 对话框的父窗口上。然而通常并不是通过新建一个JOptionPane对象创建对话框,而是直接使用 JOptionPane所提供的一些静态方法。可以创建四种类型的标准对话框:消息对话框、输入对话框、确认 对话框和选项对话框。这些静态方法都是以showXXX Dialog的形式出现的,例如,showMessageDialog() 显示消息对话框;showConfirmDialog()显示确认对话框;showInput Dialog()显示输入对话框; showOptionDialog()显示选项的对话框。 表6-3列出了对话框的类型;表6-4列出了JOptionPane的常用静态方法。

日照职业技术学院
对 话 框 类 型 消息对话框 确认对话框 说 只含有一个按钮,通常是确定按钮 通常会问用户一个问题,用户回答是或不是 明

java 实战任务工单

可以让用户输入相关的信息,当用户按下确定按钮后,系统会得到用 输入对话框 户所输入的信息。也可以提供 JComboBox 组件让用户选择相关信息, 避免用户输入错误 选项对话框 可以让用户自定义对话类型,最大的好处是可以改变按钮上的文字

常用静态方法 void showMessageDialog(Component parentComponent, Object message) void showMessageDialog(Component parentComponent, Object message, String title, int messageType) void showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon) int showConfirmDialog(Component parentComponent,Object message,String title,int optionType, int messageType,Icon icon) Object showInputDailog(Component parentComponent,Object message,String title,int messageType,Icon icon ,Object[] selectionValues,Object initialSelectionValue)

说 明 标题为“ message ”的消息对 话框 由 messageType 参数确定的默认 图标来显示信息的对话框 显示指定所有参数的消息对话框 显示指定所有参数的确认对 话框 显示指定所有参数的输入对 话框

对于表6-4中的部分参数说明如下: ① parentComponent:指示对话框的父窗口对象,一般为当前窗口。也可以为null,即采用缺省 的Frame作为父窗口,此时对话框将设置在屏幕的正中央。 ② message:定义对话框内显示的描述性文字。 ③ title:对话框的标题。 ④ Component:在对话框内要显示的组件(如按钮)。 ⑤ Icon:在对话框内要显示的图标。 ⑥ messageType:其值一般可以为ERROR_MESSAGE(错误消息)、INFORMATION_ MESSAGE(提示信息)、WARNING_MESSAGE(警告信息)、QUESTION_MESSAGE(问题消息)和 PLAIN_MESSAGE(普通消息)。 ⑦ optionType:它决定在对话框的底部所要显示的按钮选项。一般可以为DEFAULT_OPTION(默 认)、YES_NO_ OPTION(Yes和No按钮)、YES_NO_CANCEL_OPTION (Yes、No和Cancel按钮)、OK_CANCEL_OPTION(Ok和Cancel按钮)等。 对话框的使用示例: ■ 显示消息对话框如图6-5所示。 JOptionPane.showMessageDialog(this,“这是消息对话框!”,“消息对话框示 例”,JOptionPane.WARNING _MESSAGE);

日照职业技术学院
■ 显示确认对话框如图6-6所示。

java 实战任务工单

JOptionPane.showConfirmDialog(this,“这是确认对话框!”,“确认对话框示例”, JOptionPane.YES_NO_CANCEL_ OPTION,JOptionPane.INFORMATION_MESSAGE); ■ 显示输入对话框如图6-7所示。 String inputValue = JJOptionPane.showInputDialog(this,"这是输入对话框","输入对话框 示,JOptionPane. INFORMATION_MESSAGE); ■ 显示选项对话框如图6-8所示。 Object[] options = { "钢琴", "小提琴", "古筝" }; int response=JOptionPane.showOptionDialog(this,"请选择演奏的乐器", "选项对话框示例", JOptionPane.DEFAULT_OPTION,JOptionPane.QUESTION_MESSAGE,null,options,options[1]);

日照职业技术学院

java 实战任务工单

(三)组件 1.按钮 (JButton类) 按钮是图形用户界面中非常重要的一种组件, 一般对应一个事先定义好的功能操作, 并对应一段代码。 当用户单击按钮时,系统自动执行与该按钮相关联的程序,从而完成预先指定的功能。 JButton类的常用构造函数及方法如表6-5所示。
常用构造函数及方法 JButton() JButton(Icon) JButton(String) JButton(String, Icon) void setText(String) String getText() 创建一个按钮 创建一个带有 Icon 图标的按钮 创建一个显示字符串 String 的按钮 创建一个带有字符串和图标的按钮 设置按钮所显示的文本 获得按钮所显示的文本 用 途

例如: JButton b1 = new JButton("确定"); ImageIcon buttonIcon = new ImageIcon("Ok.gif"); JButton b2 = new JButton("确定", buttonIcon); 2.标签(JLabel类) JLabel类用于创建用户不能修改只能查看其内容的文本显示区域,一般具有信息说明的作用,每个标 签用一个JLabel类的对象表示。JLabel可以提供带图标的标签,并且可以设置图标和文字的相对位置。 JLabel类的常用构造函数及方法如表6-6所示。
常用构造函数及方法 JLabel(String text ) JLabel(Icon image) JLabel(String text, Icon image) JLabel(String text,Icon icon,int align) void setText(String) String getText() 用 途 创建一个显示字符串 String 的标签 创建一个带有 Icon 图标的标签 创建一个带有字符串和图标的标签 创建一个带有字符串和图标的标签,align 表示水 平对齐方式, 其值可以为 LEFT、 RIGHT 或 CENTER 设置标签所显示的文本 获得标签所显示的文本

例6-4显示了一个纯文本的标签和带有图标及文本的标签,程序运行结果如图6-9所示。 例6-4 JlabelDemo.java 1 import javax.swing.*; 2 public class JLabelDemo extends JFrame{ 3 JLabelDemo(){ 4 super("JLabel示例"); 5 JPanel pan=new JPanel(); 6 JLabel jlab1=new JLabel("文本标签"); 7 ImageIcon icon = new ImageIcon("angel.gif"); 8 JLabel jlab2 = new JLabel("这是图标文本标签", icon, SwingConstants.LEFT); 9 pan.add(jlab1);

日照职业技术学院

java 实战任务工单

10 pan.add(jlab2); 11 this.getContentPane().add(pan); 12 setLocation(300, 300); 13 setSize(250,200); 14 setResizable(false); 15 setVisible( true); 16 setDefaultCloseOperation(EXIT_ON_CLOSE); 17 } 18 public static void main( String args[]) { 19 new JLabelDemo (); 20 } 21 } 3.文本组件(JTextComponent类) JTextComponent类是所有Swing文本组件的父类,表6-7所提供的常用方法可以被其子类JTextField、 JTextArea和JPasswordField直接使用。

图6-9 JLabel示例
常 用 方 法 getText() setText(String) 用 途 返回 TextComponent 中包含的文本 将 TextComponent 文本设置为指定文本

1) 文本框(JTextField类) JTextField类是单行文本输入组件,用于接收用户的输入,构造函数如表6-8所示。
常用构造函数 JTextField(int) JTextField(String, int) 用 途 创建一个空的文本区 创建一个指定文本和字符数的文本区

例如: JTextField username=new JTextField(15); 2) 文本区(JTextArea类) JTextArea类提供可以编辑或显示多行文本的区域,默认情况下,文本区是可编辑的。 setEditable(false)方法可以将文本区设置为不可编辑。JTextArea类提供了多种构造函数,用于创建文 本区组件的对象,常用的构造函数及方法如表6-9所示。

日照职业技术学院
常用构造函数 JTextArea() JTextArea(int, int) JTextArea(String, int, int) 用 创建一个空的文本区 途

java 实战任务工单

创建一个指定行数和列数的文本区 创建一个指定文本、行数和列数的文本区

文本区不自动具有滚动功能,但是可以通过创建一个包含JTextArea实例的JScrollPane的对象实现。 例如: JScrollPane scroll =new JScrollPane(new JTextArea()) 3) 密码框(JPasswordField类) JPasswordField类是JTextField类的子类, 提供了一个专门用来输入密码的文本框。 由于安全的原因, 密码框一般不直接显示用户输入的字符,而是通过其他字符表示用户的输入,例如星号(*)。其中,利用 setEchoChar方法可以对输入的字符进行设置,使其以其他字符形式显示。JPassword Field类的常用构造 函数及方法如表6-10所示。
常用构造函数及方法 JPasswordField( ) char[] getPassword( ) void setEchoChar(char c) 用 途 创建一个空的密码框 返回密码框中所包含的文本 设置密码框的回显字符

虽然JPasswordField类继承了getText方法,但是还是应该使用getPassword方法来获得用户输入的内容, 因为getText方法返回的是密码框中的可见字符串而不是用户输入的值。 例如: JPasswordField passwordText=new JPasswordField(15); passwordText.setEchoChar('*'); 6.3 任务实施

用户登录界面如图6-1所示,包括组件JLabel、JText Field和JButton。程序设计代码如例6-5所示。 例6-5 Login_GUI.java 1 import java.awt.Font; 2 import java.awt.Toolkit; 3 import javax.swing.JButton; 4 import javax.swing.JFrame; 5 import javax.swing.JLabel; 6 import javax.swing.JOptionPane; 7 import javax.swing.JPanel; 8 import javax.swing.JPasswordField; 9 import javax.swing.JTextField; 10 //定义主类 11 public class Login_GUI{ 12 public static void main(String[] args){ 13 new LoginFrame(); 14 } 15 } 16 //定义窗体 17 class LoginFrame extends JFrame{ 18 private Toolkit tool;

日照职业技术学院
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

java 实战任务工单

public LoginFrame() { int w,h; LoginPanel lp; setTitle(“用户登录”); tool = Toolkit.getDefaultToolkit(); setSize(300,200); //设置窗体居中显示 w= (Toolkit.getDefaultToolkit().getScreen Size().width - this.getWidth()) / 2; h = (Toolkit.getDefaultToolkit().getScreenSize ().height - this.getWidth())/2; setLocation(w, h); setResizable(false); lp = new LoginPanel(this); this.getContentPane().add(lp); setDefaultCloseOperation(JFrame.EXIT_ON_ CLOSE); setVisible(true); } } //定义中间容器放置组件 class LoginPanel extends JPanel{ private JLabel namelabel,pwdlabel,titlelabel; private JTextField namefield; private JPasswordField pwdfield; private JButton loginbtn,registerbtn,cancelbtn; private JFrame iframe; public LoginPanel(JFrame frame){ iframe = frame; titlelabel = new JLabel("欢迎使用考试系统"); titlelabel.setFont(new Font("隶书",Font.BOLD,24)); namelabel = new JLabel("用户名:"); pwdlabel = new JLabel("密 码:"); namefield = new JTextField(16); pwdfield = new JPasswordField(16); pwdfield.setEchoChar('*'); loginbtn = new JButton("登录"); registerbtn = new JButton("注册"); cancelbtn = new JButton("取消"); add(titlelabel); add(namelabel); add(namefield); add(pwdlabel); add(pwdfield); add(loginbtn); add(registerbtn); add(cancelbtn); }

日照职业技术学院

java 实战任务工单

64 } 【程序解析】 (1) 程序第1~9行分别导入本程序中所需的类。例如,import javax.swing.JLabel表示导入 javax.swing包中的JLabel类。由于程序中只涉及了Swing和AWT包,因此可以用以下两条语句替代: import java.awt. * ; import javax.swing.*; 但是前者导入包的方式性能更优,因为如果程序中有多个import语句采用后者导入包,Java编译器必须搜 索所有的包,来查找相应类的具体位置。 (2) 第18、23、26~28行中,Java给我们提供了一个工具类(Toolkit),以此来获得当前屏幕的宽度 和高度,从而设置窗体居中。坐标的设置如图6-10所示。

图6-10 窗体居中显示的坐标设置 事实上,我们也可以不利用创建Toolkit对象的方法,而是直接利用setLocationRelativeTo(null)设 置窗体居中。例如: setSize(300,200); setLocationRelativeTo(null); (3) 程序运行的界面并不与图6-1所示完全一致,因为没有设置布局方式,放置于JPanel的组件默认 是流布局,也就是从左到右,从上到下依次排列。

日照职业技术学院
决策单 6
学习情境 任务名称 决策方式 学生在线考试系统(单机版) 创建登录界面中的容器与组件 教师讲解、小组讨论

java 实战任务工单

决策问题
1、 创建 GUI 图形界面的主要步骤是什么? (1) 创建组件:组件的建立通常在应用程序的构造函数或main()方法内完成。 (2) 将组件加入容器:所有的组件必须加入到容器中才可以被显示出来,而容器可以加入另一个容 器中。 (3) 配置容器内组件的位置: 让组件固定在特定位置, 或利用布局管理来管理组件在容器内的位置, 让GUI的显示更具灵活性。 (4) 处理由组件所产生的事件:处理事件使得组件具有一定功能。例如,在按下按钮后,有方法来 完成一系列的功能。 2、 使用哪个的容器? JFreme 和 Jpanel

3、 窗体的大小、背景、窗体中使用什么样的布局? 大小:400*300.背景:灰色。布局:FlowLayout

4、 窗体中使用哪几种组件,每种组件的数量、位置、大小? 标签 4 文本框(用户名文本框,密码文本框) 2 按钮 3 5、 密码框的处理方式是什么? 使用密码文本框,使用坐标定位,设置密码字节长度,密码框的清空

6、 手绘窗体结构图(标明长、宽、组件的位置等属性) 。 用户登录

用户名: 密 码: 登录 注册 取消

日照职业技术学院
实施单 6
学习情境 任务名称 实施方式 学生在线考试系统(单机版) 创建登录界面中的容器与组件 依据决策单,按照步骤进行实施

java 实战任务工单

任务实现 (1) 任务描述 构建一个用户登录界面。 提供用户名和密码输入的编辑区域, 引导用户进入相应功能模块的 【登录】 、 【注册】 、 【取消】按钮。

(2) 技术要点 AWT 和 Swing 容器 组件 (3)任务实施

班级 教师签字





组长签字 日期

日照职业技术学院
作业单 6
学习情境 任务名称 学生在线考试系统(单机版) 创建登录界面中的容器与组件

java 实战任务工单

实现下述功能:创建一个窗体,在屏幕中间显示并且标题栏为“第一个窗体”

日照职业技术学院
评价单 6
学习情境 任务名称 学生在线考试系统(单机版) 创建登录界面中的容器与组件 项目 搜集信息情况(5 分) 预习 预习完成情况(10 分) 子项目

java 实战任务工单

教师评价

设计思路的准确性(10 分) 计划 对可能出现问题分析程度(10 分) 操作时间(5 分) 操作熟练度(5 分) 知识的掌握程度(5 分) 实施 知识的灵活应用程度(5 分) 代码书写的规范性(5 分) 任务完成质量(10 分) 全面性、准确性(5 分) 检查 疑难问题排除(5 分)

作业 总评:

完成质量(20 分)

日照职业技术学院

java 实战任务工单


相关文章:
任务工单6
任务单学习领域 学习情境 6 紧固螺杆、顶圈的加工 布置任务 1、工作任务:制定紧固螺杆、顶圈的加工加工工艺规程 机械加工工艺分析 学时 6 任务描述 2、工作方式...
任务单6
任务单6_电力/水利_工程科技_专业资料。java日照职业技术学院任务单 6 学习情境 任务名称 学生在线考试系统(单机版) 创建登录界面中的容器与组件 布置任务 ? ? ...
任务单6
任务单6任务单6隐藏>> 项目名称 一、项目实施地点和日期 小组成员 实施地点 二、项目所需设备 每组电脑一台(安装 Authorware 软件) 三、项目任务工作单 项目要求...
实验任务单6
实验任务单6_数学_自然科学_专业资料。中北大学计算机与控制工程学院 实验报告课程名称 系别 计算机网络 网络工程系 学号 实验室名称 学生姓名 网络工程实验室 组号_...
6.1任务单
6.1任务单 隐藏>> 项目六学习项目任务工作单班组成员 任务名称 任务目的 任务一 数字钟电路的设计 组课长时 掌握集成计数器、译码器、显示器各管脚功能及相互连...
任务单6-1
任务单 6-1 适用专业:机制 任务名称: 凸模板的数控加工工艺设计与程序编制 组名: 一、任务描述 加工凸模板,如图 6-1 所示,要求设计数控加工工艺方案,编制机械...
《地理》学习任务单6
《地理》学习任务单6_教学案例/设计_教学研究_教育专区。学习任务 6 单元编号 Item No. 7 自然地理环境的差异性自然地理环 境的差异性 学时 Time 2 单元名称...
任务工单6
任务单6_电力/水利_工程科技_专业资料。工作任务书《国际贸易结算》精品课程 任务单 6 任务名称 工作时间 Apply the software 4 课时 1 组:??? ??? …...
六上学习任务单(6《怀念母亲》
上学习任务单(6《怀念母亲》_语文_小学教育_教育专区。6 怀念母亲一、初读感知台 1、 “书读百遍,其义自见” 。 学习任务单 班级 姓名 内容 内容 自我...
六上unit6《自主学习任务单》
上unit6《自主学习任务单》_六年级英语_英语_小学教育_教育专区。王瓜店街道办事处东大封小学 六年级上册英语 自主学习任务单 Unit6 How do you feel? Part ...
更多相关标签:
使命召唤6单人任务 | 突袭反恐任务2.6 | 6.2橙杖任务流程 | ff14古武 6任务流程 | 文明6城邦任务 | 热血江湖6转任务流程 | 仙剑6支线任务攻略 | qq三国6级军团任务 |