购买

¥30.0

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 浙江科技学院JAVA实验报告2013

浙江科技学院JAVA实验报告2013.pdf

浙江科技学院JAVA实验报告2013

中小学精品课件
2019-04-27 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《浙江科技学院JAVA实验报告2013pdf》,可适用于高等教育领域

Java程序设计实验报告专业计算机科学与技术班级计算机学号姓名指导教师许加兵信息与电子工程学院年月月Java程序设计实验报告专业计算机班级学号姓名yxw成绩指导教师许加兵日期实验Java开发环境安装和配置一、实验目的、学习构建Java语言开发和运行环境、学习使用EditPlus编写Java源程序、学习使用javac命令编译源程序、学习使用java命令运行程序、初步了解使用Java语言进行程序设计的基本步骤、安装、配置JCreator(或)IDE、安装、配置NetBeans(最新版)IDE、为进行后续实验做好准备。二、实验要求、下载、安装Java软件开发工具包(JSDK)、设置相关环境变量、使用EditPlus编写一个简单的Java程序、使用javac命令编译源程序、使用java命令运行程序观察运行结果、使用JCreatorIDE新建Java文件和项目、使用NetBeansIDE新建Java文件和项目。三、实验内容、Java软件开发工具包(JSDK)的下载与安装、环境变量的设置、使用EditPlus编写源程序、使用javac命令编译源程序、使用java命令运行程序、在EditPlus中编译和运行程序、在JCreatorIDE中新建Java文件、编译和运行程序、在NetBeansIDE中新建Java文件、编译和运行程序。四、简要说明Java开发环境安装和配置的过程、Java软件开发工具包(JSDK)的下载与安装选择接受修改路径到d安装程序新建文件夹jdk点击完成。、环境变量的设置添加一个环境变量:右击计算机属性高级系统设置高级环境变量右击计算机点击属性点击高级系统设置如果已经有过一个配置了就删除因为重新安装路径可能会不同所以重新设置。点击“新建”变量设置为“PATH”然后找到你安装了jdk的文件夹下的“bin”路径类似“D:应用程序新建文件夹jdkbin”点击“确定”“确定”“确定”。配置完成了。注:bin下一定有一个javaexe(解释执行器)javacexe(java编译程序)五、编写一个简单程序说明使用Java开发环境的步骤Java开发环境的步骤:新建一个project,设置项目名为Test新建一个包名为dujiayu新建一个class文件名为work编写程序编译运行代码:importjavamath*importjavautil*publicclasswork=newCheckboxstaticLabell=newLabel("输入进制数")staticTextFieldTF=newTextField()publicstaticvoidmain(Stringargs){StringItem={"进制","进制","进制","进制"}frmsetLayout(newFlowLayout())frmsetSize(,)frmsetTitle("进制转换")frmadd(l)frmadd(TF)frmadd(area)CheckboxGroupcbGroup=newCheckboxGroup()frmadd(newLabel("请选择进制:"))for(inti=i<i){radioi=newCheckbox(Itemi,cbGroup,false)frmadd(radioi)radioiaddItemListener(frm)}frmsetVisible(true)}publicvoiditemStateChanged(ItemEvente){intx=IntegerparseInt(TFgetText())if(egetItem()=="进制")areaappend("你选择的是"egetItem()IntegertoBinaryString(x)"n")if(egetItem()=="进制")areaappend("你选择的是"egetItem()IntegertoOctalString(x)"n")if(egetItem()=="进制")areaappend("你选择的是"egetItem()IntegertoHexString(x)"n")if(egetItem()=="进制")areaappend("你选择的是"egetItem()x"n")}}问题:()程序中创建了哪些组件?程序主要功能是什么?TextArea用于文本的输入Checkbox复选框Label标签TextField文字输入()程序中没有判断文本框是否为空。请设计程序当文本框为空时单选按钮设置为不可选状态。()程序中没有设置单选按钮的默认值请设置二进制位默认选项。四、思考与练习.实验示例中仅仅使用了ActionEvent和ItemEvent两个事件类请再设计一些AdjustmentEvent、KeyEvent、MouseEvent、TextEvent、WindowEvent等事件的处理分别使用对应的监听接口监听事件。AdjustmentEventimportjavaappletAppletimportjavaawt*importjavaawtevent*publicclassAdjustmentListenerDemoextendsAppletimplementsAdjustmentListener{Labellabel=newLabel("",LabelCENTER)Scrollbarscrollbarpublicvoidinit(){scrollbar=newScrollbar(ScrollbarHORIZONTAL)scrollbarsetMinimum()scrollbarsetMaximum()scrollbaraddAdjustmentListener(this)setLayout(newBorderLayout())add(label,BorderLayoutCENTER)add(scrollbar,BorderLayoutSOUTH)}publicvoidadjustmentValueChanged(AdjustmentEvente){labelsetText(""scrollbargetValue())}}KeyEventimportjavaawt*importjavaawtevent*publicclassKeyPressextendsKeyAdapter{Framefpublicstaticvoidmain(Stringargs){newKeyPress()Systemoutprintln("请任意按下一个键:")}publicKeyPress(){f=newFrame("按键测试")faddKeyListener(this)给窗口加上键盘事件监听器fsetSize(,)fsetVisible(true)}publicvoidkeyPressed(KeyEventevent){Systemoutprintln("您按下的键的编码为:"eventgetKeyCode())Systemoutprintln("您按下的键的名称为:"eventgetKeyModifiersText(eventgetModifiers()))Systemoutprintln("您按下的键的文字为:"eventgetKeyText(eventgetKeyCode()))}publicvoidkeyTyped(KeyEventevent){Systemoutprintln("您按下的键的字符为:"eventgetKeyChar())}}MouseEventimportjavaawt*importjavaawtevent*publicclassmouseeventextendsMouseAdapterimplementsMouseMotionListener{Framefpublicstaticvoidmain(Stringargv){newmouseevent()}publicmouseevent(){f=newFrame("鼠标事件测试")faddMouseListener(this)faddMouseMotionListener(this)fsetSize(,)fsetCursor(CursorgetPredefinedCursor(CursorHANDCURSOR))fsetVisible(true)}publicvoidmouseClicked(MouseEvente){fsetTitle("鼠标单击!")fsetCursor(CursorgetPredefinedCursor(CursorDEFAULTCURSOR))}publicvoidmouseExited(MouseEvente){fsetTitle("鼠标离开!")}publicvoidmouseDragged(MouseEvente){fsetTitle("鼠标正在拖动")fsetCursor(CursorgetPredefinedCursor(CursorMOVECURSOR))}publicvoidmouseMoved(MouseEvente){intx=egetX()inty=egetY()fsetTitle("鼠标指针移动到:("x","y")")fsetCursor(CursorgetPredefinedCursor(CursorHANDCURSOR))}}TextEventimportjavaappletAppletimportjavaawt*importjavaawtevent*publicclassTextListenerDemoextendsAppletimplementsTextListener{TextFieldfromTextFieldtopublicvoidinit(){from=newTextField()to=newTextField()tosetEditable(false)add(newLabel("输入一些文本:"))add(from)add(newLabel("你输入的文本是:"))add(to)addTextListenerfromaddTextListener(this)}implementationoftextValueChangedmethodpublicvoidtextValueChanged(TextEvente){tosetText(fromgetText())}}WindowEventimportjavaawt*importjavaawtevent*classMyWindowimplementsWindowListener{以下重写七个抽象类方法publicvoidwindowOpened(WindowEvente){}我们只使用windowClosing方法publicvoidwindowClosing(WindowEvente){Systemexit()}publicvoidwindowClosed(WindowEvente){}publicvoidwindowIconified(WindowEvente){}publicvoidwindowDeiconified(WindowEvente){}publicvoidwindowActivated(WindowEvente){}publicvoidwindowDeactivated(WindowEvente){}}publicclasswindowevent{publicstaticvoidmain(Stringargs){Framef=newFrame("WindowEvent测试")fsetSize(,)fsetBackground(Colorgreen)fsetVisible(true)给我们的窗口加入监听器注意参数是我们建立的事件处理类对象faddWindowListener(newMyWindow())}}.Java语言除了提供一些监听接口监听事件外还提供了WindowAdapter、KeyAdapter、MouseAdapter等类来处理相应事件。设计程序使用这些类的类对象来监听窗口、键盘、鼠标等事件。WindowAdapterimportjavaappletAppletimportjavaawt*importjavaawtevent*publicclassWindowAdapterDemoextendsFrame{publicWindowAdapterDemo(){super("可关闭的窗口")setSize(,)setVisible(true)useWinAdapteraddWindowListener(newWinAdapter())}publicstaticvoidmain(Stringargs){newWindowAdapterDemo()}mustextendsWindowAdapterclassWinAdapterextendsWindowAdapter{onlyrewritethenecessarymethodpublicvoidwindowClosing(WindowEvente){Systemexit()}}}KeyAdapterimportjavaawt*importjavaawtevent*publicclassKeyPressextendsKeyAdapter{Framefpublicstaticvoidmain(Stringargs){newKeyPress()Systemoutprintln("请任意按下一个键:")}publicKeyPress(){f=newFrame("按键测试")faddKeyListener(this)给窗口加上键盘事件监听器fsetSize(,)fsetVisible(true)}publicvoidkeyPressed(KeyEventevent){Systemoutprintln("您按下的键的编码为:"eventgetKeyCode())Systemoutprintln("您按下的键的名称为:"eventgetKeyModifiersText(eventgetModifiers()))Systemoutprintln("您按下的键的文字为:"eventgetKeyText(eventgetKeyCode()))}publicvoidkeyTyped(KeyEventevent){Systemoutprintln("您按下的键的字符为:"eventgetKeyChar())}}MouseAdapterimportjavaawt*importjavaawtevent*publicclassmouseeventextendsMouseAdapterimplementsMouseMotionListener{Framefpublicstaticvoidmain(Stringargv){newmouseevent()}publicmouseevent(){f=newFrame("鼠标事件测试")faddMouseListener(this)faddMouseMotionListener(this)fsetSize(,)fsetCursor(CursorgetPredefinedCursor(CursorHANDCURSOR))fsetVisible(true)}publicvoidmouseClicked(MouseEvente){fsetTitle("鼠标单击!")fsetCursor(CursorgetPredefinedCursor(CursorDEFAULTCURSOR))}publicvoidmouseExited(MouseEvente){fsetTitle("鼠标离开!")}publicvoidmouseDragged(MouseEvente){fsetTitle("鼠标正在拖动")fsetCursor(CursorgetPredefinedCursor(CursorMOVECURSOR))}publicvoidmouseMoved(MouseEvente){intx=egetX()inty=egetY()fsetTitle("鼠标指针移动到:("x","y")")fsetCursor(CursorgetPredefinedCursor(CursorHANDCURSOR))}}Java程序设计实验报告专业计算机班级学号姓名yxw成绩指导教师日期实验Swing常用组件的应用一、实验目的.掌握Java语言中Swing组件容器的使用方法.掌握常用的Swing布局管理器的使用方法.掌握Swing中的事件处理方法二、实验要求.本次实验是一个综合性实验。首先完成以下两个程序的实验然后自己设计一些界面程序使用Swing中提供的按钮、标签、复选框、菜单、表格、树等组件。.在操作过程中注意观察并记录编译和运行的错误信息将程序调试正确。.理解实验结果并回答实验过程中的问题。.完成思考与练习。.完成实验报告。三、实验内容与过程.在JApplet中添加Swing组件程序功能:在JApplet中添加个带有图片的按钮和一个带有图片的标签。准备图片文件:在当前目录下建立一个image文件夹存放个图片文件:PreviousArrowgif、gogif、NextArrowgif、Candlgif。程序参考代码如下:importjavaxswing*importjavaawt*importjavaawtColorpublicclassExextendsJFrame{staticExfrm=newEx()publicstaticvoidmain(Stringargs){ContainerpaneJPanelpanel,panelJButtonbutton,button,buttonJLabellabelfrmsetSize(,)pane=frmgetContentPane()panel=newJPanel(newFlowLayout())panel=newJPanel(newFlowLayout())ImageIconicon=newImageIcon("imagePreviousArrowgif","")button=newJButton(icon)button=newJButton(newImageIcon("imagegoGIF"))button=newJButton(newImageIcon("imageNextArrowgif"))label=newJLabel("图像标签",newImageIcon("imageimagejpg"),SwingConstantsCENTER)panesetBackground(newColor(,,))panelsetBackground(newColor(,,))panelsetBackground(newColor(,,))buttonsetToolTipText("向上翻页按钮")buttonsetToolTipText("跳转按钮")buttonsetToolTipText("向下翻页按钮")paneadd("North",panel)paneadd(panel,BorderLayoutSOUTH)paneladd(button)paneladd(button)paneladd(button)paneladd(label)frmsetVisible(true)}}问题:()准备相关文件实现程序功能。运行程序叙述程序运行结果。()JButton类中定义的方法setToolTipText()作用是什么?按钮提示语()能不能直接使用JFrame类中的add()方法将组件添加到窗口中?可以.在JFrame窗口中添加组件并添加按钮事件处理程序功能:创建JFrame窗口并在其中添加工具栏。准备图片文件:在当前目录下建立一个image文件夹存放个图片文件:PreviousArrowgif、gogif、NextArrowgif。程序参考代码如下:importjavaxswing*importjavaawt*importjavaawtevent*publicclassExextendsJFrameimplementsActionListener{JButtonbutton,button,buttonJToolBartoolBarJTextAreatextAreaJScrollPanescrollPaneJPanelpanelpublicstaticvoidmain(Stringargs){newEx()}publicEx(){super("带有工具栏按钮的窗口")addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){Systemexit()}})button=newJButton(newImageIcon("imagePreviousArrowgif"))button=newJButton(newImageIcon("imagegoGIF"))button=newJButton(newImageIcon("imageNextArrowgif"))buttonaddActionListener(this)buttonaddActionListener(this)buttonaddActionListener(this)toolBar=newJToolBar()toolBaradd(button)toolBaradd(button)toolBaradd(button)textArea=newJTextArea(,)scrollPane=newJScrollPane(textArea)panel=newJPanel()setContentPane(panel)panelsetLayout(newBorderLayout())panelsetPreferredSize(newDimension(,))paneladd(toolBar,BorderLayoutNORTH)paneladd(scrollPane,BorderLayoutCENTER)pack()show()}publicvoidactionPerformed(ActionEvente){Strings=""if(egetSource()==button)s="左按钮被单击n"elseif(egetSource()==button)s="中按钮被单击n"elseif(egetSource()==button)s="右按钮被单击n"textAreaappend(s)}}问题:()准备相关文件实现程序功能。运行程序叙述程序运行结果。()程序中采用了什么办法实现了窗口关闭事件的处理?使用监听addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){Systemexit()}})()程序中没有设计和工具栏对应的菜单请在程序中设计一个菜单和工具栏匹配。()叙述Swing中按钮事件处理步骤。实现ActionListener接口实现publicvoidactionPerformed(ActionEvente)方法(编写事件)添加监听aaddActionListener(this)四、思考与练习.与AWT比较Swing提供了更丰富的基本组件比如JTree和JTable。请利用这两个基本组件设计两个程序。packagejavaTestimportjavaxswing*importjavaxswingtreeDefaultMutableTreeNodeimportjavaawt*importjavaawtevent*publicclassJTreeDemoextendsJAppletimplementsSwingConstants{JPaneljpane=newJPanel()JTreejTree=newJTree()DefaultMutableTreeNodetop=newDefaultMutableTreeNode("TheJavaSeries")JTextAreajTextArea=newJTextArea("")privatevoidcreateNodes(DefaultMutableTreeNodetop){DefaultMutableTreeNodecategory=DefaultMutableTreeNodebook=category=newDefaultMutableTreeNode("BooksforJavaProgrammers")topadd(category)originalTutorialbook=newDefaultMutableTreeNode(newBookInfo("TheJavaTutorial:AShortCourseontheBasics","tutorialhtml"))categoryadd(book)TutorialContinuedbook=newDefaultMutableTreeNode(newBookInfo("TheJavaTutorialContinued:TheRestoftheJDK","tutorialconthtml"))categoryadd(book)JFCSwingTutorialbook=newDefaultMutableTreeNode(newBookInfo("TheJFCSwingTutorial:AGuidetoConstructingGUIs","swingtutorialhtml"))categoryadd(book)addmorebooksforprogrammerscategory=newDefaultMutableTreeNode("BooksforJavaImplementers")topadd(category)VMbook=newDefaultMutableTreeNode(newBookInfo("TheJavaVirtualMachineSpecification","vmhtml"))categoryadd(book)LanguageSpecbook=newDefaultMutableTreeNode(newBookInfo("TheJavaLanguageSpecification","jlshtml"))categoryadd(book)}publicvoidinit(){ContainercontentPane=getContentPane()contentPanesetLayout(newBorderLayout())createNodes(top)jTree=newJTree(top)contentPaneadd(newJScrollPane(jTree),"Center")show()}}classBookInfo{privateStringnameprivateStringlinkpublicStringgetName(){returnname}publicvoidsetName(Stringname){thisname=name}publicStringgetLink(){returnlink}publicvoidsetLink(Stringlink){thislink=link}publicBookInfo(Stringname,Stringlink){thisname=namethislink=link}}publicclassTableRenderDemoextendsJPanel{privatebooleanDEBUG=truepublicTableRenderDemo(){super(newGridLayout(,))JTabletable=newJTable(newMyTableModel())tablesetPreferredScrollableViewportSize(newDimension(,))JScrollPanescrollPane=newJScrollPane(table)initColumnSizes(table)setUpSportColumn(table,tablegetColumnModel()getColumn())add(scrollPane)}privatevoidinitColumnSizes(JTabletable){MyTableModelmodel=(MyTableModel)tablegetModel()TableColumncolumn=Componentcomp=intheaderWidth=intcellWidth=ObjectlongValues=modellongValuesTableCellRendererheaderRenderer=tablegetTableHeader()getDefaultRenderer()for(inti=i<tablegetColumnCount()i){column=tablegetColumnModel()getColumn(i)comp=headerRenderergetTableCellRendererComponent(,columngetHeaderValue(),false,false,,)headerWidth=compgetPreferredSize()widthcomp=tablegetDefaultRenderer(modelgetColumnClass(i))getTableCellRendererComponent(table,longValuesi,false,false,,i)cellWidth=compgetPreferredSize()widthif(DEBUG){Systemoutprintln("Initializingwidthofcolumn"i"""headerWidth="headerWidth"cellWidth="cellWidth)}columnsetPreferredWidth(Mathmax(headerWidth,cellWidth))}}publicvoidsetUpSportColumn(JTabletable,TableColumnsportColumn){JComboBoxcomboBox=newJComboBox()comboBoxaddItem("java")comboBoxaddItem("NET")comboBoxaddItem("C")comboBoxaddItem("JSP")comboBoxaddItem("PHP")sportColumnsetCellEditor(newDefaultCellEditor(comboBox))DefaultTableCellRendererrenderer=newDefaultTableCellRenderer()renderersetToolTipText("Clickforcombobox")sportColumnsetCellRenderer(renderer)}classMyTableModelextendsAbstractTableModel{privateStringcolumnNames={"姓名","专业","工龄","健在"}privateObjectdata={{"吕振","java",newInteger(),newBoolean(true)},{"张沛","NET",newInteger(),newBoolean(true)},{"岳飞","weapon",newInteger(),newBoolean(false)},{"张艺谋","film",newInteger(),newBoolean(true)}}publicfinalObjectlongValues={"吕振","Noneoftheabove",newInteger(),BooleanTRUE}publicintgetColumnCount(){returncolumnNameslength}publicintgetRowCount(){returndatalength}publicStringgetColumnName(intcol){returncolumnNamescol}publicObjectgetValueAt(introw,intcol){returndatarowcol}publicClassgetColumnClass(intc){Systemoutprintln("=============="getValueAt(,c)getClass())returngetValueAt(,c)getClass()}publicbooleanisCellEditable(introw,intcol){if(col<){returnfalse}else{returntrue}}publicvoidsetValueAt(Objectvalue,introw,intcol){if(DEBUG){Systemoutprintln("Settingvalueat"row","col"to"value"(aninstanceof"valuegetClass()")")}datarowcol=valuefireTableCellUpdated(row,col)if(DEBUG){Systemoutprintln("Newvalueofdata:")printDebugData()}}privatevoidprintDebugData(){intnumRows=getRowCount()intnumCols=getColumnCount()for(inti=i<numRowsi){Systemoutprint("row"i":")for(intj=j<numColsj){Systemoutprint(""dataij)}Systemoutprintln()}Systemoutprintln("")}}privatestaticvoidcreateAndShowGUI(){JFrameframe=newJFrame("TableRenderDemo")framesetDefaultCloseOperation(JFrameEXITONCLOSE)TableRenderDemonewContentPane=newTableRenderDemo()newContentPanesetOpaque(true)contentpanesmustbeopaqueframesetContentPane(newContentPane)framepack()framesetVisible(true)}publicstaticvoidmain(Stringargs){javaxswingSwingUtilitiesinvokeLater(newRunnable(){publicvoidrun(){createAndShowGUI()}})}}.如何实现Swing组件提供的三种外观?观察Metal、Motif、Windows三种风格的区别。javaxswingplaf包有继承自ComponentUI的抽象类组成javaxswingplafbasic包中的类扩展了这些抽象类用来实现基本的外观。UI委托集合是所有其它外观类用作构建自己的外观的基类。基本外观不能自己使用因为BasicLookAndFeel是一个抽象类。有三个继承自BasicLookAndFeel的可插拔式外观实现:◆Windows:comsunjavaswingplafwindowsWindowsLookAndFeel◆CDEMotif:comsunjavaswingplafmotifMotifLookAndFeel◆Metal(default):javaxswingplafmetalMetalLookAndFeel.用Swing组件实现一个完整的计算器程序。图Swing实现的计算器窗口Java程序设计实验报告专业班级学号姓名成绩指导教师日期实验实用类使用、IO流及文件处理、Applet线程一、实验目的、了解Java常用的系统类包括JavaApplet、字符串类、输入输出流类、数学函数类、日期类、随机数类以及向量类等的基本使用方法。、理解Java系统类的构成。二、实验要求、进一步了解Applet类。、掌握字符串类的使用方法。、掌握不同类型的输入输出流类标准数据流、文件流、数据输入输出流、对象流等。、掌握数学函数类的使用方法。、掌握日期类的使用方法。、掌握向量类的使用方法三、实验内容(一)了解Applet的生命周期程序运行从开始大结束的过程称为程序的生命周期。独立应用程序的生命周期从main()方法开始直到运行结束。而Applet应用程序的生命周期与浏览器相关。作为浏览器的一部分Applet程序何时运行何时结束都由浏览器控制Applet对象只是作为浏览器窗口中运行的一个线程。浏览器与Applet具有如下关系。在浏览器中打开包含Applet对象的页面时创建并初始化其中的Applet对象。显示Applet时启动Applet线程运行。不显示Applet时停止Applet线程运行。在浏览器中关闭页面窗口时销毁Applet对象。与此相应Applet类中声明了与生命周期相关的个方法:init()、start()、stop()、destroy()。个方法代表Applet的个活动阶段。(二)使用字符串与字符串类javalang有两个字符串类String和StringBuffer封装了字符串的全部操作。其中String用来处理创建以后不再改变的字符串StringBuffer用来处理可变字符串。String和StringBuffer为最终类不能派生子类可以防止用户修改。String和StringBuffer类在运行时要经历严格的边界条件检验可以自动捕获异常可以提高程序的健壮性。(三)使用输入输出流类、使用标准数据流的应用程序标准数据流指在字符方式下(如DOS提示符)程序与系统进行输入输出的方式键盘和显示器屏幕是标准输入输出设备数据输入的起点为键盘数据输出的终点是屏幕输出的数据可以在屏幕上显示出来。、使用文件输入输出流的应用程序程序功能:将保存在本地机当前文件夹中的LXHTML文本文件的内容在屏幕上显示出来然后将其另存为LXtxt文件。、使用随机文件类的应用程序使用文件输入类FileReader只能将文件内容全部读入。如果要选择读入文件的内容可使用随机文件类RandomAccessFile。程序功能:建立数据流通过指针有选择的读入文件内容。、使用数据输入输出流与文件输入输出流类的应用程序使用数据输出流DataOutputStream和数据输入流DataInputStream可以读取或写入任何Java类型的数据不用关心它们的实际长度是多少字节。一般与文件输入流FileInputStream和输出流类FileOutputStream一起使用。程序功能:将整型数据和字符串对象通过数据输出流写到文件中。将文件中的整型数据和字符串对象通过数据输出流读出并在屏幕上显示文件中的内容。、使用对象输入输出流的应用程序使用对象流可以直接写入或读取一个对象。由于一个类的对象包含多种信息为了保证从对象流中能够读取到正确的对象因此要求所有写入对象流的对象都必须是序列化的对象。一个类如果实现了Serializable接口那么这个类的对象就是序列化的对象。Serializable接口没有方法实现该接口的类不需要实现额外的方法。程序功能:保存对象信息到文件并将文件中的对象信息显示出来。(四)使用数学函数类Math是一个最终类含有基本数学运算函数如指数运算、对数运算、求平方根、三角函数、随机数等可以直接在程序中加Math前缀调用。(五)使用日期类Java提供了个日期类:Date、Calendar和DateFormat。其中Date类主要用于创建日期对象并获取日期Calendar类可获取和设置日期DateFormat类用来设置日期的格式。Java语言规定的基准日期为::格林威治(GMT)标准时间当前日期是由基准日期开始所经历的毫秒数转换出来的。、使用日期类的Applate应用程序程序功能:说明个日期类Date、Calendar和DateFormat使用方式及显示的样式。、在独立运行的应用程序中使用日期函数。程序功能:补充说明个日期类Date、Calendar和DateFormat的使用方式及显示的样式。(六)使用向量类Vector大多数编程语言中的数组是固定长度的即数组一经建立就不能在使用过程中改变其长度。Java引入Vector类来创建可以改变长度的变量。Vector被设计成一个能不断增长的序列它类似于可变长数组但功能更加强大因为任何类型的对象都可以放入Vector类的对象中。通过调用Vector封装的方法可以随时添加或删除向量元素以及增加或缩短向量序列的长度。创建使用Vector向量类的应用程序。其程序功能:创建一个Vector对象v先通过键盘为args输入两个分量然后赋值给对象v并通过直接方式为其分量赋值。四、作出程序说明和程序流程图(或NS图)五、现场列出源程序清单和程序运行结果六、分析和讨论程序编译、运行结果编译正常。运行正常。运行结果如上。Java程序设计实验报告专业班级学号姓名成绩指导教师日期实验Java界面编程一、实验目的了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法了解如何使用布局管理器对组件进行管理以及如何使用Java的事件处理机制。二、实验要求掌握在Applet容器中添加组件的方法掌握使用布局管理器对组件进行管理的方法。理解Java的事件处理机制掌握为不同组件编写事件处理程序的方法。掌握编写独立运行的窗口界面的方法。了解JavaSwing组件的使用方法。了解对话框的使用方法。三、实验内容(一)创建图形用户界面图形用户界面(GraphicUserInterface简称GUI)是为方便用户使用设计的窗口界面在图形用户界面中用户可以看到什么就操作什么取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI的基本要素通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内容器是能容纳和排列组件的对象如Applet、Panel(面板)、Frame(窗口)等。通过容器的add方法把组件加入到容器中。.在Applet中添加标签、按钮并使用网格布局程序功能:在Applet容器中添加组件标签、按钮并使用网格布局管理器排列组件在容器中的位置。、了解Java常用的系统类包括JavaApplet、字符串类、输入输出流类、数学函数类、日期类、随机数类以及向量类等的基本使用方法。.在面板中添加组件程序功能:在Applet中添加面板容器并分别在Applet、面板容器中添加组件并使用不同的布局管理方式。(二)了解事件处理机制在图形用户界面中程序和用户的交互是通过组件响应各种事件来实现的。例如用户单击了一个按钮意味着发生了按钮的单击事件选中下拉框中的一个选项意味着发生了一个选项事件。在Java中能产生事件的组件叫做事件源如按钮。如果希望对单击按钮事件进行处理可给事件源(按钮)注册一个事件监听器(如包含按钮的容器)如同签订了一个委托合同当事件源发生事件时事件监听器就代替事件源对发生的事件进行处理这就是所谓的委托事件处理机制。.单击按钮的事件处理程序程序功能:使用手工布局设置组件标签、按钮的位置为按钮编写单击事件处理方法。当用户用鼠标单击按钮时会听到一声响声。选择复选框和单选框按钮的事件处理程序程序功能:在Applte上创建复选框、单选框、文本区域、单行文本框等组件并实现根据用户输入的进制数选择不同选项可转换为、、进制数。(三)建立独立运行的窗口界面并使用匿名类最常使用的包含组件的容器是窗口在Java中窗口由Frame类生成。.创建一个窗口界面程序功能:创建一个具有关闭功能的空白窗口。.在窗口中添加组件程序功能:在窗口中添加组件。.为窗口添加菜单程序功能:在窗口中添加菜单栏在菜单栏添加菜单项并添加下拉菜单和级菜单通过选择菜单项可以执行不同操作如“打开”可打开LX类生成的窗口。(四)使用Swing组件在Java中能够实现图形用户界面的类库有两个:javaawt和javaxswing。前者称为抽象窗口工具库AWT(AbstractWindowsToolkit)后者是Java基础类库JFC(JavaFoundationClasses)的一个组成部分它提供了一套功能更强、数量更多、更美观的图形用户界面组件。Swing组件名称和AWT组件名称基本相同但以J开头例如AWT按钮类的名称是Button在Swing中的名称则是JButton。.在JApplet中添加Swing组件程序功能:在JApplet中添加个带有图片的按钮和一个带有图片的标签。准备图片文件:在当前目录下建立一个image文件夹存放个图片文件例如PreviousArrowgif。在JFrame窗口中添加组件程序功能:创建JFrame窗口并在其中添加工具栏。准备图片文件:在当前目录下建立一个image文件夹存放个图片文件例如PreviousArrowgif。(五)使用自定义对话框与内部类对话框是GUI中很常见的窗口对象有着广泛的应用。对话框和普通窗口最大的不同就是对话框是依附在某个窗口上一旦它所依附的窗口关闭了对话框也要随着关闭。Java提供了Dialog类用于制作自定义对话框当需要改变一些数据或需要一个提示窗口时可使用自定义对话框。.创建自定义对话框的应用程序程序功能:创建一个带有文本区及“对话框”按钮的父窗口单击“对话框”按钮可打开一个自定义对话框从中可以定义行和列的数值关闭对话框其设置的设置会显示在父窗口的文本区中。.编译并运行程序在父窗口中单击“对话框”按钮会出现“自定义对话框”窗口如图所示窗口。设置对话框中参数单击“确定”按钮可关闭自定义对话框并可看到父窗口中出现的变化。四、作出程序说明和程序流程图(或NS图)五、现场列出源程序清单和程序运行结果六、分析和讨论程序编译、运行结果编译正常。运行正常。运行结果如上。发现乱码已解决是编译器编码问题七、思考题JApplet与Applet在添加组件时有什么不同?Applet是awt的JApplet是swing的创建Container类的目的是什么?用什么方法得到Container类的对象?用作面板用于添加各种控件Containerpane=getContentPane()JApplet与Applet的默认布局是什么?JApplet类使用BorderLayoutApplet的缺省的布局管理器是FlowLayout在顶层容器JApplet、JFrame中能否直接加入组件?可以在网格布局中组件的大小是如何确定的?组件是如何确定排列顺序的?组件中每块的大小是均分的顺序根据加入的先后顺序排列如何添加面板?如何在面板中添加组件?如何在面板中设置布局管理器?定义JPaneljp将其jframeadd(jp)jpadd(new组件类名)jframesetLayout(new布局管理器)具有事件处理功能的类有什么特点?都是XXXEvent有很多监听器类Java处理事件的模式是事件源。监听器和处理事件的接口。创建窗口对象的方法?如何使用匿名类?JFramejf=newJFrame()在主函数中创建匿名类年月月Java程序设计实验报告实验Java开发环境安装和配置实验Java语言基础编程(一)实验Java语言基础编程(二)实验Java类和对象编程(一)实验Java类和对象编程(二)实验Java类和对象编程(三)实验Java类和对象编程(四)实验包、接口与异常处理实验多线程程序设计实验Java输入输出流实验AWT常用组件的应用实验事件处理实验Swing常用组件的应用实验实用类使用、IO流及文件处理、Applet线程实验Java界面编

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/93

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利