版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北科技学院计算机系报告PAGE 第3页华北科技学院计算机系软件报告课程名称Java程序设计A实验学期2011至2012学年第一学期学生所在系部管理学院年级二专业班级电商B09-2学生姓名姜丽君学号200904064214任课教师王养廷实验成绩计算机系制
《Java程序设计A》课程考试报告开课实验室:软件开发实验室2011年12月4日实验题目简易写字板软件一、实验目的掌握面向对象程序设计基本要素(封装、继承、多态)掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法掌握基于AWT的图形用户界面设计常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、滚动条等。事件处理机制掌握布局、对话框的使用掌握发布JAVA应用程序二、设备与环境PC兼容机、Windows操作系统、JAVA集成开发环境。三、实验内容完成留言板的需求分析。留言板的总体设计,列出主要的类和类间关系。列出具体的实现代码。写出程序的实现细节,主要得功能界面,实现说明。写出总结和评价四、实验结果及分析1.需求分析本程序构建的写字板,其功能主要有以下几个方面:菜单中有“文件”“编辑”“格式”“帮助”四个主菜单文件菜单项包括“新建”“保存”“打开”“退出”四个功能项,分别用于新建文件,保存文件,打开文件,退出写字板。“编辑“中有“剪切”“复制”“粘贴”“撤销”,分别用于剪切文字,复制文字,粘贴文字,撤销文件编辑。“格式”菜单里有“字体”“颜色”两个功能,用于字体和颜色的改变。“帮助”菜单中有“关于”,关于写字板的一些详情。、功能模板说明图其中保存功能,当点击保存时,出现一个对话框,当选择保存时,继续选择文件夹存入,当点击取消时则停止保存,回到文本窗口。2.软件设计(1)总体结构概述:程序包括一个公共类wendang1,分别为窗口建立的类xieziban,其中所引用到了java提供的软件包java.awt.event.*,java.awt.*,java.io.*,javax.swing.*,实现各个组件的功能,在窗口建立的类为各个组件添加监听器,并实现监听器,在类xiziban中调用方法,以实现监听器,增强代码的可读性。(2)软件设计思路设计一个xieziban类,继承自JFrame类,并且在xieziban类利用了JTextArea创建面板窗口bCenter,利用JScrollPane创建滚动条scrollpane1,利用JFileChooser创建文件选择器fileChooser,利用JMenuBar创建并且实例化菜单栏,通过一些具体的方法实现各个功能键的功能。建立构造函数Xieziban(Strings),通过该构造函数实现写字板程序的主要功能,运行是在主类中通过调用该构造函数来实现对写字板程序的基本操作。3.程序代码importjava.awt.event.*;importjava.awt.*;importjava.io.*;importjavax.swing.*;publicclasswendang1{publicstaticvoidmain(Stringargs[]){ Xiezibanx=newXieziban("简易写字板");}}classXiezibanextendsJFrameimplementsActionListener{ Filefile=null; JScrollPanescrollpane1; JFileChooserfileChooser; JMenuItemitem3,item4,item5,item1,item2,item6,item7,item8,item9,item11,item12; JTextAreabCenter; voidsetFrame(Strings) { setTitle(s); setBounds(300,180,600,500); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } publicvoidsetMenu(){ JMenuBarjmb=newJMenuBar(); JMenumenu1=newJMenu("文件"); JMenumenu2=newJMenu("编辑"); JMenumenu3=newJMenu("格式"); JMenumenu4=newJMenu("帮助"); fileChooser=newJFileChooser("F://"); item9=newJMenuItem("新建"); item1=newJMenuItem("打开"); item2=newJMenuItem("保存"); item11=newJMenuItem("退出"); item8=newJMenuItem("撤销"); item3=newJMenuItem("剪切"); item4=newJMenuItem("复制"); item5=newJMenuItem("粘贴"); item6=newJMenuItem("字体"); item7=newJMenuItem("颜色"); item12=newJMenuItem("关于"); item9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); item1.setAccelerator(KeyStroke.getKeyStroke('o')); item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); item11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK)); item8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK)); item4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK)); item5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK)); menu1.add(item9); menu1.addSeparator(); menu1.add(item1); menu1.addSeparator(); menu1.add(item2); menu1.addSeparator(); menu1.add(item11); jmb.add(menu1); setJMenuBar(jmb); menu2.add(item8); menu2.addSeparator(); menu2.add(item3); menu2.addSeparator(); menu2.add(item4); menu2.addSeparator(); menu2.add(item5); jmb.add(menu2); setJMenuBar(jmb); menu3.add(item6); menu3.addSeparator(); menu3.add(item7); jmb.add(menu3); setJMenuBar(jmb); menu4.add(item12); jmb.add(menu4); }Xieziban(Strings){//构造函数setFrame(s);//diaoyongfanfa setMenu();bCenter=newJTextArea();//chuanjianwenbenquscrollpane1=newJScrollPane(bCenter);add(scrollpane1,BorderLayout.CENTER);bCenter.setLineWrap(true);validate();item2.addActionListener(this);item3.addActionListener(this); item4.addActionListener(this); item5.addActionListener(this); item6.addActionListener(this); item7.addActionListener(this); item9.addActionListener(this); item11.addActionListener(this); item12.addActionListener(this);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==item3)bCenter.cut();elseif(e.getSource()==item4)bCenter.copy();elseif(e.getSource()==item5)bCenter.paste();elseif(e.getSource()==item9)bCenter.setText(null);elseif(e.getSource()==item11) System.exit(0); elseif(e.getSource()==item2) { intn=fileChooser.showSaveDialog(this);if(n==JFileChooser.APPROVE_OPTION){Filefile=fileChooser.getSelectedFile();try{ FileWriterwritefile=newFileWriter(file); Strings=bCenter.getText(); writefile.write(s);}catch(IOExceptionee){} }}elseif(e.getSource()==item7){ ColornewColor=JColorChooser.showDialog(this,"调色板",Color.red); if(newColor!=null) bCenter.setForeground(newColor); }elseif(e.getSource()==item12){JDialogabout=newJDialog(this);//关于对话框 about.setSize(200,150); about.setVisible(true); about.add(newJLabel("版权所有,请勿模仿!!"));}}}4.程序实现说明(1)设计一个主类wendang1,创建主函数publicclasswendang1{publicstaticvoidmain(Stringargs[]){ Xiezibanx=newXieziban("简易写字板");}}(2)在主接口中设计一个xieziban容器继承自JFrame,并且在其中加入菜单栏,滚动条和文本选择器classXiezibanextendsJFrameimplementsActionListener{ Filefile=null;//文件为空 JScrollPanescrollpane1;//滚动条 JFileChooserfileChooser;//文件选择器 JMenuItemitem3,item4,item5,item1,item2,item6,item7,item8,item9,item11,item12;//设置菜单栏 JTextAreabCenter;//文本区实例 voidsetFrame(Strings) { setTitle(s); setBounds(300,180,600,500);//设置窗口出现的位置,尺寸 setVisible(true);//设置窗口可见 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序 }(3)在下拉菜单中加入子菜单并且监听,分别实现对文件的操作功能,点击不同的菜单项时,显示不同的窗口publicvoidactionPerformed(ActionEvente){if(e.getSource()==item3)bCenter.cut();//剪切功能elseif(e.getSource()==item4)bCenter.copy();//复制功能elseif(e.getSource()==item5)bCenter.paste();//粘贴功能elseif(e.getSource()==item9)bCenter.setText(null);//新建功能elseif(e.getSource()==item11) System.exit(0);//退出功能 elseif(e.getSource()==item2) { intn=fileChooser.showSaveDialog(this);if(n==JFileChooser.APPROVE_OPTION){Filefile=fileChooser.getSelectedFile();try{ FileWriterwritefile=newFileWriter(file); Strings=bCenter.getText(); writefile.write(s);}catch(IOExceptionee){} }}//保存功能elseif(e.getSource()==item7){ C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学四年级下班主任工作计划范文
- 教师教学工作计划范文五篇
- 三年级上学期语文教学计划合集5篇
- 心理工作计划
- 2022年高中德育工作计划
- 高中数学教学工作计划模板汇编五篇
- 2022高考满分作文写酒
- 银行主任竞聘演讲稿三篇
- 下学期工作计划
- 2022国庆节创意活动方案流程策划
- 基于STM32的智能温控风扇设计
- 交易所商业计划书
- 2024年华电江苏能源有限公司招聘笔试参考题库含答案解析
- 远程银行行业背景分析
- 如何提高孩子的注意力和专注力
- 2022-2023学年海南省海口市重点中学八年级(上)期末物理试卷(含解析)
- 胆石症教案完
- 护士个人优点和缺点(六篇)
- 教师管理培训系统的设计与开发
- 2021年新高考语文Ⅰ卷真题现代文阅读《石门阵》解析
- 老化测试记录表
评论
0/150
提交评论