首页 > 文库大全 > 精品范文库 > 1号文库

java项目实训总结

java项目实训总结



第一篇:java项目实训总结

实训总结

通过此次短暂的作业设计,我深有感触。从一开始的构思再到今天写下这份总结。期间时间虽短但是也学到了不少的知识。在刚开始构想只有大体的思路,忽略了一些细节,因此在我真正做设计方案时发现有很多错误,有的时候要解决一个错误反反复复会花上很多时间。在做的过程中,也会有很多意想不到的错误,其中有的错误到最后解决的时候却是发现犯得很幼稚,不过这样的错误多了,在不知不觉中对一些命令知识分外的熟悉了起来,并且自身的排错能力也得到很大的提高。

此次的方案设计,让我第一次摸索java的需求去构建框架,在设计过程中总是会遇到一些很小的问题,虽然不明显,却可以影响到整个软件的运作。

在这次实习过程中,我发现平时学习的知识与实践环节所用到的有一定的差距,往往我觉得自己掌握的很好或者自认为熟练的技术却在此次实践环节中往往出问题,书本上的知识只提供方法的借鉴,实践中自己必须摸索出适合具体工作的方法,这一切都离不开钻研精神与勤学好问的精神.在人与人相处过程中我收获更大,首先要谦虚谨慎,不能自以为是,认为自己懂得很多,而仅仅埋头苦干,而不向他人请教,工作不但是实践与应用的过程,同时也是学习的过程,我们必须加强与他人的沟通学习,以便获得与他人的交流。

这次作业设计的时间很紧迫,再加上各方面的经验不足,也遇到很多问题,虽然我通过网上查询,咨询同学去解决我以发现的问题,但我知道这个软件还有很多地方没有完善,希望老师能谅解。但是总的来说,这次课程设计对我很有帮助,让我获益匪浅,使我在这方面的知识有了不小的提高。

第二篇:java项目实训文档

JAVA项目实训文档

项目名称:在Netbeans下实现记事本程序

设计内容:仿照windows提供的记事本设计一个功能类似的程序 具体设计:

一、建立项目

1、开始之前

使用NetBeans IDE开发JAVA程序,需要安装如下软件: l J2SE(TM)Development Kit(JDK),版本最好是1.5以上 l NetBeans IDE5.5.1 这两个软件都是免费的,可以到网上下载。下载完毕后需要先安装好JDK,然后再安装NetBeans IDE5.5,安装完毕后,就可以打开NetBeans IDE5.5.1,开始我们的学习历程了。

2、建立记事本项目

NetBeans是以项目的方式来管理程序的,通常一个程序就是一个项目。所以我们创建JAVA程序的第一步就是建立项目。(1)选择NetBeans的文件菜单——新建项目,根据向导(如图1所示)选择“常规”,“ java应用程序”,然后转入下一步。

(2)向导的第二步如图2所示,需要设置项目的一些信息。我们把项目名称定为NoteSys,设置好项目保存位置,此时先不创建主类,所以去掉创建主类复选框的对号,单击完成即创建好一个项目

(3)项目建立之后NetBeans界面如图3:

知识点整理:

l 从图1可以看到,使用NetBeans还可以创建web程序和企业程序,我们这里创建的是桌面应用程序。

l 可以在建立项目时创建主类,也可以不创建,留到项目建立好后再创建

l 项目建立好之后就可以在NetBeans IDE环境中看到刚才创建的项目(图3)。NetBeans的文件组织分为两种方式:项目组织方式和文件组织方式。

项目组织方式中整个项目(NoteSys)包括:源包、测试包、库和测试库,源包再由若干java文件构成。

文件组织方式按照实际的物理存放目录组织,即项目在硬盘上的存放路径。整个项目(NoteSys)包括src、build等几个文件夹。l 项目建立好后,在源包上单击右键可以创建包和其他的java文件,在创建的包上单击右键也可以创建各种java文件,见图4

经过这样几个步骤,我们就建立了一个桌面程序项目NoteSys,接下来就是在IDE中对项目进行开发,首先我们先看如何建立程序的界面。

二、构建记事本GUI界面 NetBeans IDE 的 GUI 生成器经过了不断的改进,截至 NetBeans 5.0 版本时,它已变得更为强大、更具直观性了。用户无需深入了解布局管理器,就可以生成具有专业外观的 GUI。在NetBeans中以可视化的方式来生成界面,我们只需将组件放置在所需的位置,就可以完成窗体布局的设置。下面的步骤将带领大家制作记事本的界面,也会让大家领略到NetBeans中构建GUI界面的方便和高效。

1、建立窗体

在项目视图的源代码包上单击右键创建一个包(包名为qiu.notesys),然后在qiu.notesys包上单击右键创建一个jFrame类(类名为WinNote.java),此即为记事本的窗体,我们将在该窗体上添加其他组件构建记事本的界面。如图5

根据图5,NetBeans 的GUI 生成器的各种窗口包括:

l 项目和文件区域:显示整个项目的文件,采用项目和文件两中方式组织。可以通过该窗口管理java文件,包括对java文件的新建,删除,编译,运行等操作 l 检查器:提供所有组件的表示,包括在应用程序中表示为树状分层结构的可视和非可视组件。并允许您在可用面板中组织这些组件,而且添加组件,设置组件的属性和事件也可以在检查器内完成。

l 设计区域:GUI 生成器用于创建和编辑 Java GUI 窗体的主窗口。通过使用工具栏的“源”和“设计”切换按钮,可以查看类的源代码或其 GUI 组件的图形视图。

l 组件面板:可用组件的可定制列表,包含 JFC/Swing、AWT 和 JavaBean 组件的标签以及布局管理器。此外,还可以使用定制器来创建、删除和重新排列组件面板中显示的类别。

l “属性”窗口。显示 GUI 生成器、“检查器”窗口、“项目”窗口或“文件”窗口中当前选定组件的属性。

l 调试和输出窗口:位于窗口的最下方,显示调试程序的信息和输出信息。注意:如果单击“源”按钮,IDE 将在编辑器中显示应用程序的 Java 源代码,其中包含 GUI 生成器自动生成的代码部分,这部分以蓝色区域表示,称为“被保护的块”。被保护的块是“源”视图中无法编辑的受保护区域。处于“源”视图中时,只能编辑出现在编辑器白色区域中的代码。如果需要对被保护的块中的代码进行更改,请单击“设计”按钮以便从 IDE 的编辑器切换到 GUI 生成器,然后在生成器中对窗体进行必要的调整。保存更改时,IDE 将更新文件的源代码 窗体建立好了,整个界面的基础也就有了。下面我们就可以在该窗体上添加其他组件,来完成整个界面工作了。

2、添加菜单(1)加入菜单

l 在组件面板中选择JMenuBar,将其拖拽入我们的JFrame主窗体。

l 在设计视图时,屏幕右侧的检查器会检查出所有的可视组件,我们在检查器中找到刚才推拽的JMenuBar,点击右键,在右键弹出菜单中选择【更改变量名称…】,此时弹出重命名窗体,我们在新建名称中填写jmb,然后点击“完成”按钮,此时我们的JMenuBar就成功创建了。

l 对于每个菜单来说,还需要创建一个菜单对象,然后把此顶层菜单添加到菜单栏中,接着在菜单对象中添加菜单项、分隔符以及子菜单。对于【文件】è【新建】而言,我们应首先将【文件】这个菜单对象创建,然后将【新建】菜单项添加到【文件】菜单选项中。参考图6,具体步骤如下:

i.在检查器中,右键点击jmb,在弹出菜单中,选择【添加JMenu】,此时检查器中在jmb下面添加了一个新的JMenu菜单对象。

ii.右键点击JMenu菜单对象,在弹出的右键菜单中选择【更改变量名称…】,将其新建名称更改为“fileMenu”。

iii.右键点击“fileMenu”菜单对象,在弹出菜单中选择【添加】è【JMenuItem】(可在此菜单中添加菜单项,分隔符,子菜单等),此时在“fileMenu”菜单对象中添加了一个菜单项,我们将此菜单项更名为“newMenu”。这样文件菜单和新建菜单项就建立好了。

知识点整理: l 添加组件的方法

(1)到组件面板单击需要的组件

(2)移动鼠标到窗体,此时刚单击过的组件会跟随鼠标移动,并且靠近窗体边缘或其他组件附近时,会出现虚线来指示放置组件的位置。(3)确定好放置位置后,再次单击鼠标即可把组件添加好 l 修改组件大小

添加组件之后,单击组件,组件周围会出现一些白色方块,把鼠标移动到其上,拖动鼠标则可改变组件大小

右击组件,在菜单中选中“自动调整大小”的垂直和水平菜单,则运行程序时,组件会随着窗口的大小变化而变化。l 对齐组件 添加组件时,NetBeans提供了虚线指示,所以很容易对齐组件。此外,按住shift键选择多个组件,使用设计区域上方的一组对齐按钮也可对齐组件 l 菜单组件

NetBeans 中通过JMenuBar组件来创建菜单,添加JMenuBar后,通过右击检查器中的JMenuBar可以添加顶层菜单,通过右击顶层菜单可以添加菜单项和分割线等,而顶层菜单和菜单项的变量名称和显示文字等可以通过其右键菜单来设置。

(2)关于菜单的几个操作 l 给菜单添加图标

菜单项显示图标会使菜单看上去更加美观,而且含义清晰的图标也会增加程序的易用性,所以我们有时需要给菜单添加一些图标。方法如下:

右击源包建立一个包(名称为res),通过该包的物理路径向该包内放一些图标,然后打开菜单项的属性窗口,通过菜单的ico属性,指定类路径选项,然后选择包res中的图标文件就可以把图标加入到菜单中。下面以新建菜单为例:

在检查器中,右键点击“newMenu”,在弹出菜单中,选择【属性】,此时弹出一个可以修改属性和事件的对话框,我们选择属性选项卡,找到ico属性,点击ico属性对应的按钮,如图7:

此时弹出一个图片选择对话框,我们选择类路径,并在当前类路径下选择图片文件,点击“确定”按钮,这时我们菜单的图片就添加上了 l 给菜单设置加速键

加速键的作用就是程序运行中可以通过使用ALT加字母的方式快速打开菜单。NetBeans中,在菜单的text属性指定的名字后面加上一个括号和一个大写字母,例如新建的text为“新建(N)”然后把属性mnemonic设置成刚才指定的大写字母即可,此时通过ALT加该字母就可以访问该菜单了 l 给菜单设置快捷键

菜单的快捷键可以使用户用快捷键来执行某个菜单的操作。切换到代码编辑器窗口,在代码编辑器中创建一个方法setMenuAccelerator,在方法中为需要设置快捷键的菜单加入设置语句即可,新建菜单的快捷键设置如下

这样,当我们按下Ctrl+N时,就可执行新建命令了。最后在主类(WinNote.java)的构造方法中调用该方法即可。知识点整理:

l NetBeans中,在可视化的方式中就可以顺利完成菜单的各种复杂设置,包括顶层菜单、菜单项、分割线等的添加以及其他菜单的相关设置

l 菜单使用的图标我们事先放到了一个包内,然后以类路径的方式加入到了菜单中,这样类路径并不依赖某个具体路径,所以使程序易于移植。(3)按照刚才的方法给记事本添加表1所示的菜单 菜单项 菜单变量名 快捷键 加速器

【文件】è【新建】 【fileMenu】è【newMenu】 FèN Ctrl+N 【文件】è【打开】 【fileMenu】è【openMenu】 FèO Ctrl+O 【文件】è【保存】 【fileMenu】è【saveMenu】 FèS Ctrl+S 【文件】è【退出】 【fileMenu】è【exitMenu】 FèX

【编辑】è【剪切】 【editMenu】è【cutMenu】 EèT Ctrl+X 【编辑】è【拷贝】 【editMenu】è【copyMenu】 EèC Ctrl+C 【编辑】è【粘贴】 【editMenu】è【pasterMenu】 EèP Ctrl+V 【编辑】è【全选】 【editMenu】è【selectAllMenu】 EèA Ctrl+A 【格式】è【颜色】 【editMenu】è【colorMenu】 EèF Alt+F 【帮助】è【关于】 【helpMenu】è【aboutMenu】 HèA

3、添加工具栏

NetBeans中,工具栏由JToolBar组件和按钮(JButton)组件组合起来实现的。我们首先在组件面板中找到JToolBar组件,并将其拖入我们的主窗体,然后根据需要在jtoolBar中放置一些按钮,设置好按钮的ico(图标)和tooltiptext(按钮提示)属性

设计表2所示的工具栏

放置顺序 变量名称 功能 工具提示 1 newButton 新建文件 新建 openButton 打开本地文件 打开 3 saveButton 保存文件到本地 保存 4 cutButton 剪切 剪切 5 copyButton 拷贝 复制 6 plasterButton 粘贴 粘贴

4、加入文本框

NetBeans提供几个显示编辑文本的组件,我们使用JTextArea来实现。从面板中找到JTextArea,加入到窗体上

这样,我们的记事本界面就制作完毕了,在项目窗口中,找到WinNote.java,右击选择编译文件,NetBeans则对该文件进行编译,编译成功后,在运行文件即可启动程序,运行效果如图8:

三、打开与保存

在上一节中我们已经完成了记事本的界面,也从中学习了一些构建GUI的方法和技巧。从本节开始将要讨论记事本的功能开发,先看如何打开和保存文件。当然在叙述过程中会讲解如何使用NetBeans的代码编辑器的一些用法。

1、打开文件

使用记事本打开一个已有的文本文件需要涉及到如下问题: l 如何控制要打开文件的类型,即只能打开文本文件 l 打开对话框如何实现

l 如何从硬盘上读入文件内容到记事本中 下面依次讨论这三个问题的解决方案

(1)控制要打开文件的类型——FileFilter类

JAVA中的FileFilter类可以很好的解决这个问题,FileFilter 是一个没有默认实现的抽象类。一经实现便可以设置在 JFileChoose上,以阻止不需要的文件出现在目录清单中。所以我们自己写一个类继承自FileFilter,然后实现FileFilter类的方法即可,具体如下:

l 右击qiu.notesys包新建一个类(名称为TextFilter),此时该类的内容如下

l 在类名TextFilter后输入extends FileFilter,即继承自FileFilter类。此时NetBeans代码编辑器会自动扫描代码,发现该行代码的错误并且用红线标出,这时把鼠标移动到该行,NetBeans会提示你错误的原因:由于我们并没有引入FileFilter类就直接使用了,所以这里提示“找不到FileFilter类”,单击该行任意位置会在行左边出现一个灯泡,单击灯泡,NetBeans会给出你修改错误的方法,现在从提示里选择“添加javax.swing.filechooser.FileFilter的import”,NetBeans就会自动把对FileFilter类的引入加上,而不需要我们去手动添加。此外,因为FileFilter类是一个抽象类,所以必须实现其所有的抽象方法,因此现在还提示有错误,再次单击该行,从灯泡的提示中选择“实现所有抽象方法”,NetBeans就会自动把FileFilter的所有抽象方法添加上,此时代码窗口内容如下: 其中标红的都是代码编辑器自动添加的。从此处也可以看出使用NetBeans写代码会非常的省时省力。

l 最后我们实现TextFilter类的抽象方法,代码如下

这样就实现了一个只显示“txt”或“doc”类型文件的过滤器类TextFilter,用他可是方便的过滤文件。知识点整理: l 代码编辑器可以自动查找代码错误,并标出红线提示,此时把鼠标放到错误行上面会出现错误原因的提示

l 单击错误行前的小灯泡,代码编辑器会给出修改错误方案并能自动修复错误 l 书写代码时可以不用过分考虑代码的缩进格式,代码写完后使用“Ctrl+Shift+F”组合键,代码编辑器会自动调整代码格式(2)打开已有文件——jFileChooser组件

NetBeans提供了一个文件选择组件——jFileChooser,为用户选择文件提供了一种简单的机制,使用他可以方便调用打开对话框和保存对话框。我们首先添加一个jFileChooser,其用法在下一步中介绍。添加该组件的具体操作是:

在项目中选择WinNote,切换到设计视图,此时检查器中会显示WinNote的所有组件以及组件之间的组织层次,由于打开对话框是独立的,并不依附主窗口,所以我们把该组件添加到“其他组件”内,在“其他组件”上右击,从组件面板上添加——SWING——jFileChooser,即可把jFileChooser添加到项目中,此后我们就可以使用它了。

(3)读入文件——java中的I/O操作

JAVA中为实现文本输入输出提供一些专门的类,常用的有FileReader、FileWriter和BufferedReader、BufferdWriter几个类。这里我们综合利用BufferedReader、FileReader以及刚才的jFileChooser组件来完成对文件的打开操作,此外,打开操作是通过打开菜单来激发的,所以我们首先实现打开菜单的事件,参见图9 l 切换到WinNote的设计视图

l 到检查器窗口找到“打开”菜单并选中(此时右击也可添加一个事件)

l 右侧的属性窗口会显示该菜单的相关信息,选择事件,该窗口就列出了该菜单支持的所有的事件

l 找到actionPerformed事件,单击后面的按钮,就可以打开添加事件的对话框,添加一个事件即可

添加好事件后,给事件添加如下代码:

知识点整理:

l NetBeans中通过属性窗口可以方便的给组件和菜单添加事件和管理事件,而不用考虑过多的事件内部细节 l JAVA中的输入输出

(1)FileReader类是用来读取字符文件的便捷类,在给定了需要读取数据的文件名的情况下创建一个新 FileReader,然后使用其read方法可以读取字符流,但其所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求,效率很低。

(2)BufferedReader从字符输入流中读取文本,缓冲各个字符

(3)根据(1)(2),我们可以用 BufferedReader 包装read()操作效率很低的FileReader,采用如下方式:

BufferedReader in = new BufferedReader(new FileReader(filename));这样,用FileReader读取指定的文件,然后用BufferedReader来缓冲,最后在用read或readline方法读取文件。避免了每次调用 read()或 readLine()都会从文件中读取字节,并将其转换为字符后返回的低效做法

此外,FileWriter是写入字符文件的便捷类,用于写入字符流。BufferdWriter类提供缓冲,因此也可以综合使用这两个类完成写入文件的操作。

2、保存文件

保存文件的实现和打开非常类似,也是通过TextFilter类控制保存的文件类型,通过jFileChooser来调用保存对话框,通过文件输入输出操作来写文件。具体做法请读者自己研究。

四、其他功能的实现 有了打开与保存,我们的记事本已经可以操作文件,本节将带领大家完成记事本剩余的几个重要功能。

1、剪切操作

添加好剪切菜单的actionPerformed事件,在事件内写如下代码 editor.cut();其中editor是文本框jTextArea。这样就实现了剪切操作,其余的全选、复制、粘贴与此类似,不再细说

2、文本颜色

NetBeans提供了一个jColorChooser组件,使用它可以方便的实现颜色设置。该组件显示有模式的颜色选取器,在隐藏对话框之前一直阻塞。如果用户按下“OK”按钮,则此方法隐藏/释放对话框并返回所选颜色。如果用户按下“Cancel”按钮或者在没有按“OK”的情况下关闭对话框,则此方法隐藏/释放对话框并返回 null。因此,我们添加一个jColorChooser,利用它选取颜色即可。参见图10 在检查器窗口内右击“其它组件”,添加一个jColorChooser,修改变量名为ColorChooser,然后添加颜色菜单的事件,在事件内加入如下代码:

第一句代码创建了一个Color对象,该对象返回了jColorChooser组件中被选择的颜色(jColorChooser的构造方法中的三个参数分别是:对话框的父

Component,对话框标题和显示颜色选取器时的初始 Color 设置),第二句代码则是设置文本颜色。

3、撤销操作

JAVA中提供了撤销管理器类——UndoManager,通过该类提供的方法,我们可以方便实现撤销与恢复操作,具体操作如下:

l 首先声明一个UndoManager的对象,代码如下: UndoManager undoManager = new UndoManager();l 因为撤销和恢复都是针对文本框进行的,所以需要对文本框jTextArea进行监视,打开文本框的AncestorAdded事件,填入如下代码

这样撤销管理器就有效的对文本进行监视,一旦需要撤销或恢复操作,直接调用撤销管理器的方法即可

l 最后在撤销菜单的actionPerformed事件中写一句“undoManager.undo();”,在恢复菜单的actionPerformed事件写一句“undoManager.redo();”就可以了。

4、新建与退出

新建与退出都会涉及到如下两个问题: l 如何判断文档是否发生变化

l 若文档已改变,如何调用对话框询问用户是否保存当前文档

对于第一个问题,文本组件jTextArea没有提供相关方法,但是我们可以定义一个全局变量,让他存储初始的文档内容,然后新建或退出时在比较该变量和当前文档内容,相同则不必询问是否保存,否则调用对话框询问是否保存。

对于第二个问题,使用jOptionPane组件即可实现,JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框,对JOptionPane组件的方法调用通常有如下几个: 方法名 描述

showConfirmDialog 询问一个确认问题,如 yes/no/cancel。showInputDialog 提示要求某些输入。

showMessageDialog 告知用户某事已发生。

showOptionDialog 上述三项的大统一(Grand Unification)。

每个调用方法的参数很多,这里不再细说,请查看API手册,我们使用JOptionPane组件的第一个方法showConfirmDialog来实现新建和退出需要的对话框。

(1)新建代码

(2)退出

退出代码与新建类似,也是判断文档是否改变,然后通过对话框提示用户是否保存,然后在退出。

5、帮助与关于窗口的制作

关于的主要目的是通过一个窗口展示有关于程序的一些信息和作者的相关信息,这里我们建立一个jPanel窗口类,然后在窗口上添加JTabbedPane、jPanel、jLabel等几个组件就可以实现了。具体操作如下: l 右击qiu.notesys包,添加一个jPanel窗口类 l 找到检查器中的jPanel,右击,添加JTabbedPane组件,再右击JTabbedPane,添加两个jPanel组件,这时JTabbedPane就有了两个选项卡:tab1和tab2,这两个选项卡是由jPanel组件构成的。最后在分别给两个选项卡添加几个jLabel。

l jLabel组件可以显示文字和图片,所以根据情况添加相关信息就可以了,最后通过主类WinNote的关于菜单调用该窗口即可。效果如图11:

知识点整理

l 全选、复制、粘贴和剪切等操作使用jTextArea组件自身的方法就可以实现 l 文本颜色使用jColorChooser组件实现。我们并没有讲解如何实现字体设置功能,因为NetBeans没有提供字体对话框组件,需要我们自己设计实现字体对话框的功能,因为有些复杂,所以没有讲,请参看我的源代码

l 撤销操作有撤销管理器类UndoManager实现,可以连续多次撤销或恢复 l 新建与退出用到了JOptionPane组件,它可以方便地弹出要求用户提供值或向其发出通知的标准对话框

l 帮助和关于窗口使用了JTabbedPane组件,它允许用户通过单击具有给定标题和图标的选项卡,在一组组件之间进行切换,一般采用jPanel组件作为选项卡间的切换组件。

五、NetBeans中的项目操作 经过前面的学习,相信大家已经能够做出一个简易的记事本程序了,接下来就要思考如何完成这个项目,并且能够让项目独立运行。现在,我们来学习NetBeans中对整个项目的几个操作。

1、运行项目 l 设置主类

我们知道JAVA必须从主类开始运行程序,所以需要指定好主类。一般在我们创建项目时就指定好了主类,如果没有可以右键单击项目节点,选择“属性”,然后在对话框左窗格中选择“运行”节点,从这里可以设置主类。

l 运行主项目

从“运行”菜单中选择“运行”——“ 运行主项目”(或使用F6键)。NetBeans就会编译并运行程序,然后输出结果,双击“输出”窗口将其最大化,以便查看所有输出内容。按 F6 键再次运行程序。但这次只是运行程序,并不需要编译任何新内容。

2、清理并生成项目

l 选择“生成”——“ 清理并生成主项目”(Shift-F11)。将清理项目,然后将其作为进程的一部分重新生成。

3、生成Javadoc l 选择项目

l 从 IDE 的主菜单中,选择“生成”——“为NoteSys生成 Javadoc”。IDE 将在“输出”窗口中显示 Javadoc 输出,并打开 Web 浏览器以显示 Javadoc

4、调试项目

l 打开记事本的WinNote.java 文件,转至打开菜单的事件代码,并将插入点放在“t=in.readLine();”,然后按 Ctrl-F8 组合键给该行设置一个断点(或鼠标单击行号)。

l 选择“运行”——“ 调试主项目”(F5)。IDE 将打开调试器窗口,并在调试器中运行该项目,启动记事本程序后,单击记事本的文件菜单——打开,这时程序执行到了断点处,停止

l 选择“局部变量”窗口,会看到这里列出了很多的局部变量值,选择变量t,此时t为空值(因为还没有读入数据)。

l 在工具栏中单击“步入”(F7),逐步执行程序并观察变量t,会发现t在一行一行的把文件的内容读取出来。

l 单击“运行”菜单——“继续运行”(ctrl+F5)就会关闭调试器窗口,继续执行到程序到完毕

总之,F6是正常运行程序,F5是调试运行,会打开调试器窗口,以方便观察程序运行情况,F7是单步运行程序。此外还可以在程序代码中设置断点,以便有效的观察断点处代码的情况。

第三篇:java实训总结

实训总结

通过这次实训,我的感想很多。在学基本知识的时候感觉挺简单的,自己都能明白。可是一来实训,发现很多问题自己都不是很清楚,基本上都是模棱两可。

以前自己玩游戏的时候,从来没想过一个游戏需要这么复杂,而且紧紧只是一个玩起来这么简单的游戏,让自己感觉自己真的是什么都不会,都只背一点书上的知识,很少自己动手来实践一下。一个简单的游戏就需要这么多的代码,更合况是那种大型游戏呢。对未来产生恐惧了,因为以后还想做这一行呢。不过我会努力的。

以后多动手实践,不只是记住书面的知识,这样才能使自己的知识更加巩固。

通过这几天的JAVA实训,一句话累。不过在本次实训过程中充分了解了自己的不足。

如果没有老师的引导,那就太难了。能过写连连看,我跟本无法去构架。

连连看的重点就是要了解如何进行消除,分几种消法,如直线、直角、双折线消除法。通过老师给我们的讲解,我们知道了如何去实现直线消除法,再通过自己的努力来实现了其他两种消除法,感觉还不错。

在这个连连看的游戏中,我又添加了一个选关的功能,一开始学得很难,但通过老师的讲解,想想就是这么回事,没有什么不可以。一切都在自己掌握的认识中。

在本次连连看的实训中,我充分认识到自己对于编程的不子解,我以前所知道只不过是一些很微小的东西,需要我学习的东西还有很多,不过我会通过自己的努力来完善自己所编写的程序。

相信自己!我们要学会质疑。有时你的程序或许自己觉得很完善,但一运行,通过别人来看,又出现了些许错误。所以我们要多方位的考虑,不能让自己的眼睛给骗了。

第四篇:JAVA实训总结

JAVA程序设计课程实训报告

一、实训目的 知识目标

1.了解图形用户界面的编程思路及方法;

2.了解事件及事件处理机制; 3.掌握常用的图形用户界面组件;

4.掌握容器布局的设置方法及组件的添加方法; 5.掌握常见事件类型及事件处理方法; 能力目标

1.与客户沟通的基本能力; 2.团队协作的基本能力; 3.编程的良好习惯; 4.软件调试和测试的能力; 5.查阅文献的能力;

二、项目设置:

1、实训内容

利用所学Java程序设计语言实现一个图形化的计算器。

2、实训要求

1.程序运行正常无误,系统层次清晰合理; 2.实训内容里的要求必须要全面实现;

3.实训过程中要仔细操作,细心观察,勤于思考,注意记录; 4.实训报告要做到文字通畅、论点正确、论述有据; 5.要求学生在指导教师的指导下,独立完成实训的全部内容; 6.在规定时间内完成实训的全部任务,并按规定格式上交实训报告;

三、实训设备

硬件:个人电脑、软件:JCreator Pro 3.50、JDK1.6.0_23

四、实训过程

以上的图表示实训编写的程序没有错误,可以正常的运行

以上的图是运行程序时所显示出来的小小计算机的界面

为了实际的运行一下计算机的功能,此时输入1加2

此时计算机上显示的是数字1和数字2相加的结果,3.为了实际的运行一下计算机的功能,此时输入数字1乘数字2

此时计算机上显示的是数字1和数字2相乘的结果,2.因为上述的两个小算数成功的运算出正确的结果所以此时关闭小小简单计算机的界面此时出现的编程图面为:

计算机程序的源码: import java.awt.*;import java.awt.event.*;import javax.swing.*;//计算机界面 class CalculatorPanel extends JPanel {

private JLabel display;private JPanel panel;private double result;//用以存放最后的计算结果 private String lastCommand;//计算你选择的运算方式 private boolean start;public CalculatorPanel(){

setLayout(new BorderLayout());result=0;lastCommand=“=”;start=true;display=new JLabel(“0”,SwingConstants.RIGHT);display.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.black),BorderFactory.createEmptyBorder(5,5,5,5)));//createCompoundBorder意为设置组合边框,createLineBorder意为设置线边框,createEmptyBorder意为设置一个空的边框,因为是空边框在此处是看不见的,目的是为了占位子

add(display,BorderLayout.NORTH);ActionListener insert=new InsertAction();ActionListener command=new CommandAction();panel=new JPanel();//计算机按钮的布局 panel.setLayout(new GridLayout(4,4))//添加按钮及相应的事件监听

addButton(“7”,insert);addButton(“8”,insert);addButton(“9”,insert);addButton(“/”,command);addButton(“4”,insert);addButton(“5”,insert);addButton(“6”,insert);addButton(“*”,command);addButton(“1”,insert);addButton(“2”,insert);addButton(“3”,insert);addButton(“-”,command);addButton(“0”,insert);

} addButton(“.”,insert);addButton(“=”,command);addButton(“+”,command);add(panel,BorderLayout.CENTER);//点击按钮会触发ActionEvent事件,事件监听器接口ActionListener,接口实现的方法ActionPerformed,注册事件的监听器add ActionListener.private void addButton(String label,ActionListener listener){

} private class InsertAction implements ActionListener {

} //按钮监听器类,用于监听计算

private class CommandAction implements ActionListener { public void actionPerformed(ActionEvent event)public void actionPerformed(ActionEvent event){

} String input=event.getActionCommand();if(start){

} display.setText(display.getText()+input);display.setText(“");start=false;JButton button=new JButton(label);button.addActionListener(listener);panel.add(button);//按钮监听器类,用于显示 { String command=event.getActionCommand();//获取你点击的那个按钮

}

if(start){

if(command.equals(”=“)){ display.setText(”command“);start=false;}

else {

lastCommand=command;}

} else {

calculate(Double.parseDouble(display.getText()));//进行数据计算,输入的是字符串,所以要进行强制类型的转换

}

} lastCommand=command;start=true;//计算类 两个方法:setTest()设置标签中的内容,getTest()获取标签中的方法;

public void calculate(double x){ if(lastCommand.equals(”+“))

}

{ } else if(lastCommand.equals(”-“)){ } else if(lastCommand.equals(”*“)){ } else if(lastCommand.equals(”/“)){ } else if(lastCommand.equals(”=“)){ } display.setText(”“+result);result=x;result/=x;result*=x;result-=x;result+=x;} class CalculatorFrame extends JFrame {

public CalculatorFrame(){

setTitle(”计算机");Container contentPane=getContentPane();CalculatorPanel panel=new CalculatorPanel();contentPane.add(panel);

} } public class CalculatorExample {

} public static void main(String[] args){

} CalculatorFrame frame=new CalculatorFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(200,200);frame.setVisible(true);frame.setResizable(false);

五、实训总结

在本学期的期末临近之时很高兴我们能有一个星期的实训课程,我们在学校机房进行了为期一周的JAVA实训。一周的实训现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,关于类型、变量、接口、输入输出流、分析异常、抛出异常,后期主要是用JAVA编写一个应用程序,目的是实现简单的计算机的计算,在编程中遇到了很多不懂的难题,但是经过我们大家的讨论和老师细心的一一指导,问题得到了解决,同时也更深刻的认识到要做一个合格的程序员并非我以前想像的那么容易,最重要的还是细致严谨,并将理论与实践相结合才可以写好一段代码,以下是我在这次一周中的一些感悟和体会:

本次老师要求我们做的简单编程“小小计算机”基本功能已经较好的完成,像平常的加减乘除已经可以实际的运用了,可是还是有一些不完善,比如我们的计算机不能计算平方,立方,根号,所以我觉得总体还是有些不完善,我们的指导老师对我们编程时遇到的问题作出了大体评价,粗心并且还不细心,因为我们往往一个程序编写下来很多的错误是因为花括号的乱运用,前后相同字母大小写的不符,标点符号的有无,和标点符号的书写环境(中文输入法,拼音输入法)„„当发现很多错误的情况下我们往往还不能及时的发现这些潜在的问题,每当这时我都才深刻的感觉到认识到了自己不足,在编写这些应用程序时,一个小小的符号,一个常量变量的设定,这都无不考量着我们的细心和严谨,所以学习JAVA,不仅对我们以后学习其他语言有很大的好处,而且也让我们知道了和理解了作为一个编程人员首先应具有的良好心理素质,那就是冷静思考和专心致志。对待学术知识应该是严谨和认真。通过这一周的实训,个人觉得总体上收获挺大的,通过这次的实训我想我们更多学到的是不懂就问和自己应该尽自己的全力去尝试,哪怕失败,只要自己尽自己的全力,和身边同学一起探讨而不是抄袭,团结合作,发挥团队意识,只有将所学知识充分融入到平时的学习生活中去,为以后的工作做好坚实的基础。感谢学校和老师能够为我们提供这次机会,同时也更深刻的认识到要认真的学习好一门课程不仅是学习它的理论知识还要将其用生活的去,在生活中去实践,去更好的学习,很多事情都不像我们看到的那么容易,需要认真,严谨,和探求知识实践热情的态度,在此次实训的一周中我想我们今后应该学习的东西还有很多,在今后的学习生活中我们会更加努力。

第五篇:java实训总结

实习报告 学生姓名:

学号:

专业班级:

实习单位:

实习时间:

陈育伟20096361信息与计算科学1班高博教育202_-7-1——202_-7-1

42012年 7 月 14 日

一、实习目的通过对java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse 开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。同时掌握并实践软件项目设计规范及其开发流程:需求分析、概要设计、详细设计、代码编写、系统测试及软件手册编写,以便提前适应软件公司开发流程、环境和工作要求进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。

二、实习主要流程

1、公司管理规则,程序员素质,程序员编码规范;

2、需求开发与管理;

3、面向对象分析与设计,面向对象编程的特性;

4、javaSE、javaWeb、页面设计-JSP页面;

5、数据库设计、SQL应用;

6、软件需求分析与设计;

7、项目实战

三、实习内容

Oracle数据库

数据库是数据的结构化集合。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。

Oracle服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了Oracle服务器和其他数据库管理器的比较结

果。

Oracle服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管Oracle始终在不断发展,但目前Oracle服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的Oracle十分适合于访问Internet上的数据库。

java与SQL的应用

Java语言是编写数据库应用程序的杰出语言之一,它提供了方便访问数据的技术。利用Java语言中的JDBC技术,用户能方便地开发出基于Web网页的数据库访问程序,从而扩充网络应用功能。JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。JDBC由一组用Java语言编写的类与接口组成,通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、SQL Server 202_、Oracle、Sybase等),进而可使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码。

控制技术-Servlet技术

1)什么是Servlet?

一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。

javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。

2)Servlet的生命周期

一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。

页面设计-JSP页面

1)MVC 模式

为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制

器”Model-view-controller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts 和Spring framework)。

2)JSP技术的强势

(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

3)JSP技术的弱势

(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

四、实习总结

通过这一期的实训,虽然实训的时间不长,但是总体上收获挺大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。

当我们正式准备学习实训java编程技术时,让我倍感兴奋,毕竟java是自己以后想主攻技术,所以自然也就非常的亢奋。刚开始实训的第一天,同学们就推荐我为组长,我感觉肩上责任之重大,那一刻起,我就决心带领我们小组,奋战我们的实训路。当然开始学习后也并非是想象中那样顺利,开始的学习让我异常感到学习任务的艰巨,因为学习中我们遇到了很多以前未曾遇到的难点,有时难免冥思苦想也无济于事,通过我们小组的积极努力协作,同时请教老师和其他同学,我们顺利的化解了一道道的障碍。

这让我不断的对学习技术又有了新的认识:学习中我们必须边总结边学习,开始阶段对老师交代的任何方法和类都不要放过,不管是否简单与否都要乐于地接受,因为老师肯定有他的道理,相信老师走过的路比我们长,那么其经验也就肯定比我们丰富。上课时一定要专心听讲,一个关键的知识点听漏了,可能会使一个人在课下花很多时间去消化,这样也就会花掉做其他事情的大量时间,同时也使得学习不能和老师的讲的课程同步,以至出现以后就跟不上老师讲课的进度而掉队。所以学习中我们宁可先劳其筋骨,苦其心志,恶其体肤,也不能掉队跟不上学习进度。

在这里,我非常感谢实训的指导老师,在老师的帮助和指导下,我克服了Java学习上的一道道难关,课上认真听讲,摘好必要的笔记,并通过自己课后的不断消化学习,现在自己已经基本掌握了java的基础知识,并且能独立的开发出系统。

实训即将结束了,我非常怀念厦门万策在南昌大学的校内实训,在实训的这短短两周的时间里,我每一天过的都市踏实的,充实的;我相信,只要我秉持艰苦奋斗,为理想拼搏的精神,尽管在未来的java路上荆棘丛丛,我一定可以披荆斩刺,度过重重难关,实现自己未来的理想!

实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我们都会因涉事而成长。

通过实习,我自身发生了重大的转变。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,我要坚定自己的信念,在公司好好实习,争取提早转正,我相信我会在JAVA开发这条路上走的更长更远。

有些知识点以前没有学过,但我也没有去研究,实训时突然间觉得自己真的有点无知,虽然现在去看依然可以解决问题,但要浪费许多时间,这一点是我必须在以后的学习中加以改进的地方,同时也要督促自己在学习的过程中不断的完善自我。另外一点,也是在实训中必不可少的部分,就是同学之间的互相帮助。所谓”当局者迷,旁观者清”,有些东西感觉自己做的是时候明明没什么错误,偏偏程序运行时就是有错误,让其他同学帮忙看了一下,发现其实是个很小的错误。所以说,相互帮助是很重要的一点,这在以后的工作或生活中也是很关键的。俗话说:“要想为事业多添一把火,自己就得多添一捆材”。此次实训,我深深体会到了积累知识的重要性。在实训当中我们遇到了不少

难题,但是经过我们大家的讨论和老师细心的一一指导,问题得到了解决。两个礼拜的实训结束了,收获颇丰,同时也更深刻的认识到要做一个合格的程序员并非我以前想像的那么容易,最重要的还是细致严谨。社会是不会要一个一无是处的人的,所以我们要更多更快地从一个学生向工作者转变,总的来说我对这次实习还是比较满意的,它使我学到了很多东西,为我以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空!

    版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。

    本文地址:https://www.feisuxs.com/wenku/jingpin/1/2746819.html

相关内容

热门阅读
随机推荐