版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、NetBeans是新近流行的一款堪与Eclipse媲美的IDE,有Sun的支持。下面是NetBeans使用教程入门篇。一.创建项目下面打开NetBeans,然后点击菜单“文件”-“新建项目”,打开“新建项目”对话框:请在“类别”中选择“常规”,再从“项目”中选择“Java应用程序”,然后点击“下一步”,进入“新建Java应用程序”对话框:在这个对话框中需要设置项目的名称以及项目所在目录,我为自己的项目起名为JUnitTest,“项目位置”为G:YPJCCKJUnitNetBeans,此外,请将“创建主类”前的对号去掉。项目创建好后,已经自带了JUnit 3.8.1。二.编写用于测试的JavaB
2、ean用于测试的JavaBean很简单,名为Book,只有id和name两个属性,这两个属性将分别用于两个用例当中。下面开始编写该JavaBean。请点击“文件”-“新建文件”,打开“新建文件”对话框:确保“项目”选择的是JUnitTest,然后在“类别”中选中Java类,在“文件类型”中选中Java类,点击“下一个”,进入下一窗口:设置类名为Book,包为net.zheng.junit.test,设置完成后点击“完成”,修改代码如下: package net.zheng.junit.test;public class Book private String id = null;private
3、 String name = null;public String getId() return id;public void setId(String id) this.id = id;public String getName() return name;public void setName(String name) = name;至此,用于测试的JavaBean编写完成。三.编写测试用例这里只用了一个类进行测试,名为BookTest,该类继承自junit.framework.TestCase类。BookTest类包含两个用例,分别对应该类的testId和testNa
4、me方法,即每个方法实现了一个测试用例。注意,在JUnit 中,junit.framework.TestCase的子类中每个用来实现测试用例的方法都必须以testXXX的格式来命名,这些方法在运行时会被执行。此外,BookTest还包括setUp和tearDown这两个方法,前者在每个测试方法开始之前执行,多用来做初始化;后者在每个测试方法完成之后执行,多用来清理资源。下面开始编写BookTest。请点击“文件”-“新建文件”,打开“新建文件”对话框: 确保“项目”选择的是JUnitTest,然后在“类别”中选中JUnit类,在“文件类型”中选中现有类的测试,点击“下一个”,进入下一窗口:选择
5、要测试的类,点击“完成”,修改代码如下: package net.zheng.junit.test;import junit.framework.TestCase;import junit.framework.Assert;public class BookTest extends TestCase Book book = null;/建议为测试类创建构造public BookTest(String name) super(name);protected void setUp() throws Exception /调用超类的setUp(),以确保测试环境被初始化super.setUp();S
6、ystem.out.println(测试开始!);book = new Book();System.out.println(book对象被初始化!);protected void tearDown() throws Exception System.out.println(book对象将被清理!);book = null;System.out.println(测试结束!);/调用超类的tearDown(),以确保测试环境被清理super.tearDown();public void testId() book.setId(001); /设置id属性的值为001/使用Assert查看id属性的值
7、是否为001Assert.assertEquals(001, book.getId();System.out.println(id属性被测试!);public void testName() book.setName(ASP); /设置name属性的值为ASP/使用Assert查看name属性的值是否为JSP,这是个必然出现错误的测试Assert.assertEquals(JSP, book.getName();System.out.println(name属性被测试!);这里setUp和tearDown方法没什么好说的,就是执行了对book对象的初始化和清理,不过testId和testNam
8、e需要说明一下。前者是在对book的id属性进行测试,首先赋值为”001”,然后使用Assert的assertEquals方法查看id属性中存放的值是否是期待的值,由于我的期待值也是”001”,所以执行后这个用例应该是成功的;后者则是对book的name属性进行测试,也是首先赋值为”ASP”,然后使用 Assert的assertEquals方法查看其值是否是期待的,由于我特意将期待值设定为根本不可能的”JSP”,因此这个用例执行后会出现一个错误。但请注意,由于我是特意要让测试出现错误,所以将期待值设定成了不可能的值,如果你是测试人员,请千万不要这么做,否则如果别的地方导致了错误,很容易给自己造
9、成不必要的麻烦。下面简单介绍一下上边用到的静态类junit.framework.Assert。该类主要包含8个方法:1assertEquals()方法,用来查看对象中存的值是否是期待的值,与字符串比较中使用的equals()方法类似;2assertFalse()和assertTrue()方法,用来查看变量是是否为false或true,如果assertFalse()查看的变量的值是false则测试成功,如果是true则失败,assertTrue()与之相反;3assertSame()和assertNotSame()方法,用来比较两个对象的引用是否相等和不相等,类似于通过“=”和“!=”比较两个对
10、象;4assertNull()和assertNotNull()方法,用来查看对象是否为空和不为空;5fail ()方法,意为失败,用来抛出错误。我个人认为有两个用途:首先是在测试驱动开发中,由于测试用例都是在被测试的类之前编写,而写成时又不清楚其正确与否,此时就可以使用fail方法抛出错误进行模拟;其次是抛出意外的错误,比如要测试的内容是从数据库中读取的数据是否正确,而导致错误的原因却是数据库连接失败。四.运行BookTest编写好BookTest后,就可以运行了。请在“项目”栏中选中BookTest,点击鼠标右键,选择“运行文件”,测试信息会从“输出”窗口输出:五.测试套件当有多个测试类需要
11、一次性进行测试时,可以使用测试套件来完成这项工作。在NetBeans中,点击“文件”-“新建文件”,打开“新建文件”对话框:确保“项目”选择的是JUnitTest,然后在“类别”中选中JUnit类,在“文件类型”中选中测试套件,点击“下一个”,进入下一窗口:修改“类名”为AllTests,点击“完成”,然后修改代码如下: package net.zheng.junit.test;import junit.framework.*;public class AllTests extends TestCase public AllTests(String testName) super(testNa
12、me);public static Test suite() TestSuite ts= new TestSuite(AllTests);ts.addTestSuite(BookTest.class);return ts;其中TestSuite是用来组织测试类的,通过其addTestSuite()方法将测试类添加到ts对象中,凡是添加到ts中的测试类都将在运行文件时被执行。此外,您也可以在定义ts对象时利用其构造函数将测试类添加给ts对象,例如:TestSuite ts = new TestSuite(BookTest.class);这并不会影响到后续使用addTestSuite()方法。测试
13、套件的运行方法与之前一样。此外,JUnit自身也提供了运行测试的环境,但需要在NetBeans中做一些改动,所以就不作详细介绍了,这里只将代码给出: package net.zheng.junit.test;import junit.framework.*;public class Test public static void main(String args) /使用TestSuite组装测试类TestSuite ts = new TestSuite();ts.addTestSuite(TestBook.class);/textui,命令行方式junit.textui.TestRunner
14、.run(ts);/swingui,Swing方式/junit.swingui.TestRunner.run(ts.getClass();/awtui,AWT方式/junit.awtui.TestRunner.run(ts.getClass();六.小结其实JUnit上手很容易,远比想象的要简单的多,但我觉得如何编写测试类是很需要经验的,因为许多时候,测试一个用例,但涉及到可能不止一个类;而有些时候,一个类可能是做为工具使用,里边涉及很多内容,那么测试时是否还是只编写一个测试类呢?关于这个话题,我想应该是仁者见仁、智者见智的,其实这才是测试的难题所在。如何构建 GUI 程序贡献者:Saleem
15、 Gul 及 Tomas Pavek, 维护者:Ruth Kusterer 及 Patrick Keegan2008 年 2 月 翻译:flying_space(NetBeans 中文社区成员)这篇入门教程将教会您怎样创建一个简单的人机交互界面以及向其中添加简单的后台功能。 特别地,我们将向您展示如何按 Swing 规范编写控制按钮和域代码。我们将会使用到布局管理、设计简单 GUI 界面以及添加一些“按钮(button)”和“文本字段(text field)”组件。 “文本字段”是用来接收输入和显示输出的,“按钮”在前端用来起动相应功能。 我们将创建的应用程序会是一个简单但实用的计算器。获得更
16、多GUI设计功能、视频及文档,请参见Desgning a Swing GUI in NetBeans IDE.预计持续时间:15分钟目录 步骤1:创建项目 步骤2:构建界面 步骤3:添加功能 步骤4:运行项目 事件处理的工作原理 相关参考 本教程所需软件请确保您的计算机已安装如下软件: NetBeans IDE 6.0 (转到下载) Java Standard Development Kit (JDK) 5.0 或 6.0 版(转到下载) 步骤1:创建项目第一步,创建一个应用程序,并将其命名为 NumberAddition。1. 选择“文件” - “新建项目”。或者在“工具栏”单击“新建项目”
17、图标。 2. 在弹出窗口的“类别”窗格中选择“Java”,在“项目”窗格中选择“Java应用程序”。单击“下一步”; 3. 在“项目名称”中键入 NumberAddition,在“项目位置”中键入本地文件目录以保存项目; 4. 确认复选框“设置为主项目”已被勾选。并确保复选框“创建主类”未被勾选。 5. 点击“完成” 步骤2:构建界面继续创建我们的界面。我们需要一个 Java 容器来放置其他将被调用的 GUI 组件。 在此步骤中我们使用 JFrame 组件作为所需的容器。我们将该容器放置在一个新建包中, 该新建包位于“源包”中。创建 JFrame 容器1. 在“项目”窗口右击 NumberAd
18、dition,选择“新建” - “JFrame 窗体”。 2. 在“类名”项键入 NumberAdditionUI。 3. 在“包”项键入 my.numberaddition。 4. 单击“完成”。 IDE 根据类 NumberAdditionUI 在NumberAddition 应用程序中创建了 NumberAdditionUI 窗体,并在 GUI Builder 中打开 NumberAdditionUI 窗体。包 my.NumberAddition 被设置为默认包。添加组件:构建界面下一步我们将通过“组件面板”为界面获得一个 JPanel 组件。 而后将向其中添加三个 JLabels 组件
19、,三个 JTextFields 组件,三个 JButtons 组件。 如果您从未使用过 GUI Builder,应该先通过 GUI Building in NetBeans IDE 教程获得相关信息。一旦您通过拖拽的方式添加了上述组件,JFrame 应该显示如以下截图:如果在您在 IDE 的右上角没有看到“组件面板”,请选择“窗口” - “组件面板”调出。1. 首先在“组件面板”里选中 JPanel 组件并拖入 JFrame 中。 2. 当 JPanel 组件高亮时,在其“属性”窗口点击位于 Border 项后的省略号(.)按钮来选择组件风格。 3. 在 Border 对话框的列表里选择 Ti
20、tleBorder 风格,并在“标题”项填入 Number Addition。单击“确定”按钮保存并退出。 4. 您现在将看到一个标有 Number Addition 的空的 JFrame 组件,如上述截图。请依据以上截图添加三个 JLabels,三个 JTextFields 及三个 JButtons。 重命名组件在此步骤中我们将重命名刚添加进 JFrame 的组件的显示文本1. 双击 jLabel1 并更改其文本内容为 First Number 2. 双击 jLabel2 并更改其内容为 Second Number 3. 双击 jLabel3 并更改其内容为 Result 4. 双击 jTe
21、xtField1,删除其示例文本。您需要重新调整 jTextField1 的初始大小。同样设置 jTextField2 及 jTextField3。 5. 双击 jButton1,重命名为 Clear. 6. 双击 jButton2,重命名为 Add. 7. 双击 jButton3,重命名为 Exit. 实现 GUI 界面将如以下截图:步骤3:添加功能在此步骤中,我们将为 Add, Clear 及 Exit 按钮赋上相应功能。而 jTextField1 及 jTextField2 将用于用户输入,jTextField3 则用于程序输出我们将创建一个非常简单的加法计算器。让我们开始吧。让 Exi
22、t 按钮工作为了将功能赋于按钮组件,我们必须分配一个事件处理器给每个需响应的事件。 这样我们可以知道用户是否“按下”了按钮,无伦是通过鼠标还是键盘操作。 因此,我们将使用事件监听器(ActionListener)来处理响应事件(ActionEvent)。1. 右击 Exit 按钮。在弹出菜单中选择“事件” - “Action” - “actionPerformed”。 注意菜单中包含了许多您可以使用的事件处理!当您选择了 actionPerformed 事件处理,IDE 便会自动添加事件监听器(ActionListener)到 Exit 按钮中的并在监听器的 actionPerformed 方
23、法内产生一个处理方法。 2. IDE 会转到“源”窗口并将光标调整到您欲添加功能(无伦是鼠标还是键盘操作按下按钮时)的方法内。如下所示: private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) /TODO: Add your handling code here: 3. 现在我们将添加 Exit 按钮现实的代码。您需键入 System.exit(0); 来覆盖 TODO 所在行。如下代码: private void jButton3ActionPerformed(java.awt.event.ActionEven
24、t evt) System.exit(0); 让 Clear 按钮工作1. 单击位于工作区顶部的“设计”标签返回“设计”界面。 2. 右击 Clear 按钮(jButton1)。在下拉菜单中选择“事件” - “Action” - “actionPerformed”。 3. 我们需要 Clear 按钮来清空全部 jTextFields 上的文本内容。 接下来向上一步一样添加代码。完成的代码如下: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) jTextField1.setText(); jTextFiel
25、d2.setText(); jTextField3.setText(); 上述代码改变了三个 JTextFields 的文本内容,将其中的文本置空。让 Add 按钮工作Add 按钮将实现三个功能。1. 接收 jTextField1 及 jTextField2 中的用户输入并将输入的字符串转换为浮点型数据。 2. 将上述输入的两个数相加得到结果。 3. 将结果覆盖 jTextField3 中的文本以输出结果。 让我们开始吧! 1. 点击工作区上方的“设计”标签返回设计窗格。 2. 右击 Add 按钮(jButton3)。在弹出菜单中选择“事件” - “Action” - “actionPerfo
26、rmed” 3. 我们将添加一些代码使得 Add 按钮工作。代码如下: private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) / First we define float variables. float num1, num2, result; / We have to parse the text to a type float. num1 = Float.parseFloat(jTextField1.getText(); num2 = Float.parseFloat(jTextField2.getTex
27、t(); / Now we can perform the addition. result = num1+num2; / We will now pass the value of result to jTextField3. / At the same time, we are going to / change the value of result from a float to a string. jTextField3.setText(String.valueOf(result); 我们的项目已完成,现在可以生成并运行以查看其功能。步骤4:运行项目最后一步,生成及运行该项目。1.
28、选择“生成” - “生成主项目”。 2. 当“输出”窗格显示“成功生成”时, 选择“运行” - “运行主项目”。 3. 如果您被提示项目 NumberAddition 没有设置主类时, 您应该选择 my.NumberAddition.NumberAdditionUI 作为主类, 并点击“确定”按钮。 4. 您所创建的项目现在已成功运行了。 在这篇教程中您学会了怎样通过 NetBeans GUI Builder 来关联各 GUI 组件。事件处理的工作原理这篇教程展示了如何响应一个简单的按钮事件。当然还有更多的事件可让您的应用程序来响应。 IDE 能帮您以列表的形式让您方便的找到您的 GUI 组件
29、可实现的事件处理:1. 让我们返回到文件 NumberAdditionUI.java 编辑器。点击“设计”标签来回看 GUI Builder 中的 GUI 版面。 2. 右击任一 GUI 组件,选择弹出菜单中的“事件”。现在,浏览菜单并了解都有些什么功能,您不需要选择任何选项。 3. 或者,您可选择“窗口”菜单中的“属性”,在“属性”窗格中点击“事件”标签。 在“事件”标签中,您能预览及编辑事件处理器来关联当前的活动组件。 4. 您能使您的程序响应如回车,单双击,三次点击,鼠标活动,窗口大小及聚焦改变等操作。 通过“事件”菜单您能自动地生成相应的事件处理器。将有更多的事件处理会被您使用。 (参
30、阅 best practices for Event handling 来自 Sun 网页 Java Events Tutorial.) 1. 那么,事件处理是怎样工作的呢?每次当您从“事件”菜单选择事件时, IDE 都自动帮您生成一个所谓的事件监听器,并关联您的组件。浏览以下几步来了解事件处理的工作原理。1. 返回文件 NumberAdditionUI.java 编辑器,点击“源”标签来查看 GUI 源代码。 2. 滚动代码并留意方法 jButton1ActionPerformed(), jButton2ActionPerformed() 及 jButton3ActionPerformed(
31、)。这些方法便是刚才实现的,称为“事件处理器”(event handlers)。 3. 现在将代码滚动到 initComponents() 方法。如果您看不到这个方法,那么请查找一行标为 Generated Code 的代码,点击此行前方的“+”号来展开 initComponents() 方法。 4. 首先,注意到蓝色的底色围绕着 initComponents() 方法。这表明代码是 IDE 自动生成并且不允许再编辑的。 5. 现在,浏览方法 initComponents()。在这些代码中,包含了用于初始化并设置您 GUI 组件位置的代码。这些代码是您在“设计”模式下设置和编辑组件时自动生成和
32、配置的。 6. 在 initComponents() 中查找如下代码 jButton3.setText(Exit);jButton3.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton3ActionPerformed(evt); );这就是 GUI 组件添加事件监听器的地方,在此您为 jButton3 注册了一个事件监听器(ActionListener)。 而在这个 ActionListener 接口中的
33、方法 actionPerformed 通过简单调用您之前设置的事件处理器 jButton3ActionPerformed 来处理响应事件。现在这个按钮便能监听活动事件了。当一个事件产生时,系统便通知监听器来执行您事件处理器中的代码来响应事件。一般而言,要使 GUI 组件实现事件响应需要对组件注册监听器且实现事件处理。如您所见,NetBeans IDE 能帮您自动关联事件监听,因此您只需专注于各事件间的逻辑关系和内部联系而忽略实现细节。NetBeans IDE 6.0 Java 快速入门指南欢迎使用 NetBeans IDE!本教程提供 NetBeans IDE 工作流程的简单介绍和快速指南。我
34、们将指导大家创建一个简单的 “Hello World” Java 控制台应用程序。完成此教程之后,您将具备如何在 IDE 中创建、编译和运行应用程序的基本知识。本教程可在 10 分钟之内完成。完成本教程之后,您可以继续学习 NetBeans IDE 的 在线文档中心。该部分提供的教程全面介绍了众多 IDE 特性和编程技巧,可应用于各种应用程序类型。如果对 “Hello World” 应用程序不感兴趣,可以跳过本教程并直接阅读 NetBeans IDE 在线文档中心。开始之前在编写第一个程序之前,首先需要在您的计算机上安装以下软件: J2SE(TM) Development Kit (JDK)
35、5.0 版或兼容版本( 下载最新版本的 JDK)。 NetBeans IDE 6.0( 下载)。 设置项目要创建一个 IDE 项目:1. 启动 NetBeans IDE。 2. 在 IDE 中,选择 File New Project,如下图所示。 3. 在 New Project 向导中,展开 Java 类别并选择 Java Application,如下图所示。然后,单击 Next 按钮。 4. 在向导的 Name and Location 页面中,执行以下操作(如下图所示): o 在 Project Name 字段中,输入 HelloWorldApp。 o 在 Create Main Class 字段中,输入 helloworldapp.HelloWorldApp。 o 保留 Set as Main Project 复选框未被选中。 5. 单击 Finish 按钮。 所创建的项目将在 IDE 中打开。应该可以看到以下组件: Projects 窗口,提供项目组件的树形视图,包括源文件、代码所依赖的库等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电厂部门绩效考核制度
- 值班人员管理考核制度
- 酒店客服绩效考核制度
- 公司对仓储部考核制度
- 软件开发团队考核制度
- 小学教学目标考核制度
- 医疗机构感染预防控制制度汇编
- 培训课程满意度调查及分析报告
- 采购部门员工激励及奖励制度方案
- 抗菌药物分级管理制度
- 2026年1月浙江省高考(首考)化学试题(含标准答案及解析)
- 2025年全国计算机一级考试题库及答案
- GB/T 16271-2025钢丝绳吊索插编索扣
- 仓储害虫培训课件
- 地质灾害精细化调查总体思路和要点-祝传兵
- 公文格式国家标准2025
- 城镇燃气输配工程施工及验收标准
- 2024年湘潭医卫职业技术学院单招职业适应性测试题库及答案1套
- 赡养老人个税扣除分摊协议书
- 2024年深圳市中考历史试卷真题(含答案解析)
- 广东省省级政务信息化服务预算编制标准(运维服务分册)
评论
0/150
提交评论