• 回答数

    7

  • 浏览数

    113

贪吃女王Grief
首页 > 期刊论文 > 基于java模拟写字板论文模板

7个回答 默认排序
  • 默认排序
  • 按时间排序

李晓锦Baby

已采纳

我想是写用JAVA语言开发的东西吧绪论,可行性(为什么要做这个东西),简单介绍下java语言,画流程图(数据是怎么样传的,附加少量的文字)然后是做这个东西的的重点.如重点的代码需要解释一下(写的最多的地方),最后是运行的环境(简单点写)

315 评论

哆啦C梦的梦

许多同学需要的毕业设计与实现,其实网盘可以有了,只是你不知道,不需要到处找下载了相册管理系统JSP九宫格日记本鞋子商城销售网站图书商城项目管理系统JSP小说网美食菜谱分享系统酒店预定管理系统学校宿舍管理系统航班机票订票网站个人日记本会员卡积分管理系统宠物商城企业财务管理系统校园任务管理系统校园一卡通管理系统停车位预定管理系统学生考勤管理系统游戏购买网站蛋糕甜品店管理系统简单院校工资管理系统校园运动会管理系统师生交流学习管理系统新闻发布管理系统家政服务管理系统图书借阅管理系统私人牙科诊所病历管理系统教师科研信息管理系统宿舍寝室管理系统在线医疗预约挂号管理系统员工出差请假考勤管理系统航班机票销售管理系统失物招领管理系统校友同学网站管理系统物流公司企业管理系统会议-会议室管理系统学生社团管理系统校园二手物品交易兼社交网站图书销售管理系统个人博客鲜花销售商城管理系统教务教学兼学生成绩管理系统学生信息管理系统学生成绩管理系统人事管理系统图书管理系统论坛的实现学生选课信息管理系统网络教学平台学生管理系统学生成绩分析管理系统图书借阅管理系统在线考试系统音乐管理系统B-SSM项目SSM个人记账本垃圾分类查询管理系统新闻发布管理系统房屋出租管理系统简单教务查询管理系统快递物流管理系统学生管理系统企业工资管理系统电子书网站管理系统电影售票管理系统酒店预定管理系统酒店后台管理系统学生选课管理系统在线考试管理系统停车场管理系统汽车出租管理系统校园帮跑腿管理平台简单个人相册管理系统客户关系管理系统网上超市购物商城管理系统健身房管理系统简单网页聊天管理系统在线视频教育网站企业官方网站新闻网站管理系统个人博客管理系统个人博客网站管理系统毕业设计管理系统餐厅点餐收银管理系统房屋租赁管理系统医药信息管理系统协同过滤音乐推荐管理系统农产品朔源管理系统人力资源人事管理系统健身房俱乐部管理系统学生会管理系统台球室计费管理系统的KTV管理系统驾校预约管理系统医院挂号预约管理系统汽车俱乐部管理系统汽车维修中心管理系统简单院校教师工资管理系统网上零食超市商城毕业设计选题管理系统宿舍寝室管理系统家庭理财记账管理系统物流快递管理系统宠物商城带后台管理系统学生成绩信息管理系统实验室设备管理医院住院管理系统网上外卖订餐管理系统失物招领管理系统C-SSH项目SSH图书管理系统SSH招聘网站宠物交易管理系统物业管理系统失物招领管理系统通讯录网站管理系统物流快递管理系统失物招领管理系统教学辅助视频学习交流管理系统简单学生信息管理系统毕业生去向登记就业管理系统生态旅游旅行网站通讯录管理系统房屋线下销售网站管理系统小区物业管理系统宠物领养饲养交流管理平台网上问卷调查投票网站系统网上拍卖管理系统仓库管理系统汽车票销售管理系统火车票售票管理系统房屋租赁管理系统实验室预约管理系统校友同学网站校园运动会管理系统网上银行管理系统会议室管理系统企业人力资源管理系统新闻管理发布网站系统酒店管理系统电影订票管理系统小区/公司/物业停车场管理系统学生宿舍管理系统企业进销存管理系统的摄影网站招聘网站,包含设计文稿D-SpringBoot项目SpringBoot招聘网站项目企业固定资产管理系统美容院预约管理系统婚纱影楼摄影预约网站美容院后台管理系统线上网络文件管理系统博客论坛管理系统实现的一个简单博客管理系统图书馆图书借阅管理系统课程评分评价管理系统校园报修管理图书管理系统在线电子商城管理系统汽车配件管理系统

315 评论

且吃且增重

写一篇 Java 论文需要按照一定的步骤来进行。首先,你需要确定你要写的论文的主题,并进行相应的研究。接下来,你可以组织你的论文结构,并开始撰写。在写作过程中,你需要注意清晰地表达你的观点,并确保你的论点是有根据的。最后,你需要对你的论文进行审阅和修改,以确保论文的质量。一般来说,一篇论文应该包含以下几个部分:引言:在引言中,你需要阐述你要讨论的问题,并简要介绍你的研究目的和方法。方法:在这一部分中,你需要详细介绍你的研究方法,包括研究对象、数据来源和数据分析方法等。结果:在这一部分中,你需要展示你的研究结果,并给出相应的数据和图表来说明你的论点。讨论:在讨论部分中,你需要对你的研究结果进行分析和解释,并与其他相关研究进行比较。结论:在结论部分中,你需要总结你的研究结果

268 评论

shally9073

一切一切…网上搜搜…给我分吧…

113 评论

密果儿小雨

仅仅给你个参考//Java Group Project_StudentManagement源码//NetBeans IDE 6.5 环境package studentmanager;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;class Student implements java.io.Serializable{String number,name,specialty,grade,borth,sex;public Student(){};public void setNumber(String number){ this.number=number;}public String getNumber(){ return number;}public void setName(String name){ this.name=name;}public String getName(){ return name;}public void setSex(String sex){ this.sex=sex;}public String getSex(){ return sex;}public void setSpecialty(String specialty){ this.specialty=specialty;}public String getSpecialty(){ return specialty;}public void setGrade(String grade){ this.grade=grade;}public String getGrade(){ return grade;}public void setBorth(String borth){ this.borth=borth;}public String getBorth(){ return borth;}}public class StudentManager extends JFrame{JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" +"内容改后的保存!");JTextField 学号,姓名,专业,年级,出生;JRadioButton 男,女;ButtonGroup group=null;JButton 录入,查询,删除,修改,显示;JPanel p1,p2,p3,p4,p5,p6,pv,ph;Student 学生=null;Hashtable 学生散列表=null;File file=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;public StudentManager(){super("学生基本信息管理系统");学号=new JTextField(10);姓名=new JTextField(10);专业=new JTextField(10);年级=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JRadioButton("男",true);女=new JRadioButton("女",false);group.add(男);group.add(女);录入=new JButton("录入");查询=new JButton("查询");删除=new JButton("删除");修改=new JButton("修改");显示=new JButton("显示");录入.addActionListener(new InputAct());查询.addActionListener(new InquestAct());修改.addActionListener(new ModifyAct());删除.addActionListener(new DeleteAct());显示.addActionListener(new ShowAct());修改.setEnabled(false);p1=new JPanel();p1.add(new JLabel("学号:",JLabel.CENTER));p1.add(学号);p2=new JPanel();p2.add(new JLabel("姓名:",JLabel.CENTER));p2.add(姓名);p3=new JPanel();p3.add(new JLabel("性别:",JLabel.CENTER));p3.add(男);p3.add(女);p4=new JPanel();p4.add(new JLabel("专业:",JLabel.CENTER));p4.add(专业);p5=new JPanel();p5.add(new JLabel("年级:",JLabel.CENTER));p5.add(年级);p6=new JPanel();p6.add(new JLabel("出生:",JLabel.CENTER));p6.add(出生);pv=new JPanel();pv.setLayout(new GridLayout(6,1));pv.add(p1);pv.add(p2);pv.add(p3);pv.add(p4);pv.add(p5);pv.add(p6);ph=new JPanel();ph.add(录入);ph.add(查询);ph.add(修改);ph.add(删除);ph.add(显示);file=new File("学生信息.txt");学生散列表=new Hashtable();if(!file.exists()){try{FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(学生散列表);objectOut.close();out.close();}catch(IOException e){}}Container con=getContentPane();con.setLayout(new BorderLayout());con.add(lb, BorderLayout.NORTH);con.add(pv, BorderLayout.CENTER);con.add(ph, BorderLayout.SOUTH);setDefaultCloseOperation(EXIT_ON_CLOSE);setBounds(100,100,600,300);setVisible(true);}public static void main(String[] args) {new StudentManager();}class InputAct implements ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number="";number=学号.getText();if(number.length()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){System.out.println("创建散列表出现问题!");}if(学生散列表.containsKey(number)){String warning="该生信息已存在,请到修改页面修改!";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE);}//end if1else{String m="该生信息将被录入!";int ok=JOptionPane.showConfirmDialog(null,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){String name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number,学生);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();}catch(Exception ee){System.out.println("输出散列表出现问题!");}学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}//end else1}//end if0else{String warning="必须输入学号!";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE);}//end else0}//end actionPerformed}//end classclass InquestAct implements ActionListener{public void actionPerformed(ActionEvent e){String number="";number=学号.getText();if(number.length()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){System.out.println("散列表有问题!");}if(学生散列表.containsKey(number)){修改.setEnabled(true);Student stu=(Student)学生散列表.get(number);姓名.setText(stu.getName());专业.setText(stu.getSpecialty());年级.setText(stu.getGrade());出生.setText(stu.getBorth());if(stu.getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{修改.setEnabled(false);String warning="该学号不存在!";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{修改.setEnabled(false);String warning="必须输入学号!";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}class ModifyAct implements ActionListener{public void actionPerformed(ActionEvent e){String number=学号.getText();String name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}Student 学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number, 学生);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){System.out.println("录入修改出现异常!");修改.setEnabled(false);}}}class DeleteAct implements ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number=学号.getText();if(number.length()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(学生散列表.containsKey(number)){Student stu=(Student)学生散列表.get(number);姓名.setText(stu.getName());专业.setText(stu.getSpecialty());年级.setText(stu.getGrade());出生.setText(stu.getBorth());if(stu.getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}String m="确定要删除该学生的记录吗?";int ok=JOptionPane.showConfirmDialog(null,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){学生散列表.remove(number);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){System.out.println(ee);}}else if(ok==JOptionPane.NO_OPTION){学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}else{String warning="该学号不存在!";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{String warning="必须输入学号!";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}class ShowAct implements ActionListener{public void actionPerformed(ActionEvent e){new StudentShow(file);}}class StudentShow extends JDialog{Hashtable 学生散列表= null;JTextArea 显示=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public StudentShow(File file){super(new JFrame(),"显示对话框");this.file=file;显示=new JTextArea(16,30);try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录!\n");else{显示.setText("学号 姓名 性别 专业 年级 出生\n");for(Enumeration enm=学生散列表.elements();enm.hasMoreElements();){Student stu=(Student)enm.nextElement();String sex="";if(stu.getSex().equals("男"))sex="男";else sex="女";String str=stu.getNumber()+","+stu.getName()+","+sex+","+stu.getSpecialty()+","+stu.getGrade()+","+stu.getBorth()+"\n";显示.append(str);}}JScrollPane scroll=new JScrollPane(显示);Container con=getContentPane();con.add("Center",scroll);con.validate();setVisible(true);setBounds(200,200,400,300);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}}}

286 评论

四合院追糖葫芦

我帮你寻找了一个下午的毕业论文设计与实现,我也知道太多假的了,现在我网盘给你了 记得采纳哦1-CRM客户关系管理系统-ssh2-户籍管理系统-jsp3-Java聊天室的设计与实现-swing4-进销存管理系统的设计与实现-springboot5-超市积分管理系统-jsp6-基于JSP的网上购书系统-ssh7-基于SSH的婴幼儿产品销售系统的开发与设计8-基于WEB的网上购物系统的设计与实现-ssh源码9-网上手机销售系统-jsp10-Java网上体育商城的设计与实现-ssh11-基于JSP+Servlet开发高校社团管理系统12-Java在线考试系统-ssh13-java开发电影订票网站系统-ssh14-JavaWeb校园二手平台项目+论文-ssh15-百货中心供应链管理系统+论文-ssh16-固定资产管理系统+论文-ssh17-网络考试系统的设计与实现+论文-jsp18-基于JSP+Servlet开发简单的新闻发布系统19-基于JSP+Servlet开发在线租车系统20-基于JSP+Servlet开发火车票网上订票系统21-基于JSP+Servlet开发简单的医院预约挂号系统22-基于SSM开发在线考试系统23-基于Struts2开发公司职工管理系统+说明书+任务书+方案书24-基于S2SH开发彩票购买系统的设计与实现毕业设计+论文25-基于Struts2+Hibernate开发小区物业管理系统26-基于S2SH开发学生考勤管理系统+报告27-基于S2SH开发车辆租赁管理系统的设计与实现+论文28- 基于S2SH开发银行个人业务管理系统29-基于JavaSwing开发简单的银行管理系统30-基于JavaSwing开发银行信用卡管理系统31-基于JSP+Servlet开发简单的家居购物商城系统32-基于JSP+Servlet开发手机销售购物商城系统33-基于JSP+Servlet开发物流管理系统34-基于JSP机票预定系统35-基于S2SH开发病房管理系统的设计与实现36-基于S2SH开发就业招聘管理系统37-基于S2SH开发图书管理系统(新本版)+论文38-基于S2SH开发学生公寓(宿舍)管理系统39-基于SSM开发大学食堂采购管理系统40-基于SSM开发学生信息管理系统41-基于SSM开发在线家教预约系统42-基于SSM开发自行车在线租赁管理系统43-基于Struts2+Hibernate开发社区蔬菜、食品交易平台+论文44-基于Struts2开发快递收发系统45-基于Struts2开发校园二手购物商城46-基于Struts2开发学生信息管理系统47-基于Struts2开发学生宿舍管理系统48-基于JSP+Servlet+bootstrap开发电影院购票系统49-基于JSP+Servlet开发学生成绩管理系统+实验报告50-基于JSP+Servlet开发超市日常管理系统51-基于JSP+Servlet开发开放实验室预约系统+论文52-基于JSP+Servlet开发网上服装销售购物商城系统+论文+PPT+任务书+检查表53-基于JSP+Servlet开发旅游(景点宾馆)系统54-基于JSP+Servlet开发图书管理系统+PPT+讲解视频55-基于JSP+Servlet开发学生选课系统+论文56-基于JSP开发云餐厅自助点餐系统(前台+后台) 讲解视频57-基于JSP+Servlet开发药品管理系统58-基于JSP+Servlet开发快递管理系统+UML图59-基于JSP+Servlet开发小型酒店管理系统的设计与实现60-基于JSP+Servlet开发在线聊天系统+论文+PPT61-基于JSP+Servlet开发教师工资管理系统62-基于JSP+Servlet开发汽车配件销售管理系统的设计与实现+论文63-基于SSM开发仓库库存管理系统64-基于SSM开发学生请假管理系统65-基于S2SH开发彩票购买系统的设计与实现毕业设计+论文66-基于SSM开发餐饮业点餐系统67-基于SSM开发学生信息管理系统68-基于SSM开发校园外卖零食购物商城系统69-基于S2SH开发医院挂号预约系统70-基于S2SH开发企业人事管理系统(新本版)71-基于S2SH开发学生公寓(宿舍)管理系统72-基于S2SH开发网上书店购物商城系统

272 评论

结婚201314

目 录一、概要设计……………………………………………………………3二、程序整体设计说明…………………………………………….…..4三、程序部分源代码及注释…………………………………………….9四、测试结果………………………………………………………….24五、设计心得…………………………………………………………25六、致 谢…………………………………………………………25七、参考文献…………………………………………………………25【摘 要】该程序是一个图形界面的java文档编辑器,其界面主要采用了awt包, 程序实现了文本编辑器的基本功能有:新建文件、打开文件、文件保存、文件另存为、剪切、复制、粘贴、删除、查找/替换、改变字体大小,另外还利用Time类的schedule方法实现了文件的定时自动更新功能,并创建备份文件,由于该编辑器是用的awt包,所以在技术上没有实现将Java的关键字以不同颜色显示功能。【关键字】java 编辑器一、概要设计Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea作为主要的部件。线程实现文件自动保存:在相关的参考书上查阅到在Time类中有一个schedule方法可以在后台自动完成一定的功能,而且调用起来相当简单,于是就用了Time类中的schedule方法来实现文件自动保存及备份功能。文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能,如自动换行,设置字体,打印等功能。在设计类的时候,考虑到简单明了,就用了两个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。二、程序整体设计说明2.1、程序框架图2.2、程序中所用类说明(1)用户自定义类类名:EditInstantiation作用:实例化对象继承的父类:WindowAdapter主要成员变量:Frame myFrm // 定义主窗体TextArea myText // 定义文本编辑区Dialog myDlgFind,myDlgFindont //查找及设置字体对话框TextField TFfind, TFreplace, TffontSize//查找对话框和字体窗体中的文本行Button BfontOK, Bfind, Breplace, Bnext, Bcancel //定义和创建各按钮Label Lf, Lr, Ls //定义和创建各标签MenuBar Mbbar //定义和创建主菜单Menu Mfile,Medit,Mformation,Mhelp //定义和创建主菜单中的选项Toolkit toolKitClipboard myCB //剪切板对象FileDialog myFDlg //定义文件对话框Choice ChfontName //定义和创建字体选择框private int VIindex = 1; //构成文件名后缀变量private String VSsubFixStr=".java"; //构成文件名扩展名变量private String VSmyFileName = "Document1",VSmyBFileName;//文件名及备份文件名变量private File VFmyFile=new File(VSmyFileName+VIindex+".java");//文件名变量private int VIsearchPosition=0; //查找位置指针private Timer VTtime; //实例化一个Time类private int VImin=1; // schedule方法中的一个时间参数private int VItype=JOptionPane.INFORMATION_MESSAGE;//提示对话框类型private String VStitle; //提示对话框标题private String VSmessage; //提示对话框信息private boolean VBchanged = true; //改变字体的一个标识private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; //设置字体大小及步长主要成员方法:public void init() //初始化各部件菜单的定义和事件的监听public void displayEdit ()//显示窗体及调用Time中的schedule方法public void windowClosing () //关闭窗体public void save //保存文件方法a.内部类类名:KeyEvents作用:实现菜单的事件的响应功能继承的父类:KeyAdapter主要成员变量:无成员方法:actionPerformed()、keyPressed()b.内部类类名:FindKeyEvent作用:实现查找中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:actionPerformed ()c.内部类类名:fontEvent作用:实现字体中各部件事件的响应功能继承的父类:无主要成员变量:无成员方法:ItemListener(),ActionListener()(2)用户自定义类与Java类的继承关系图如下:自定义类 Java 类线程使用说明2.3、实现接口方法本程序用到的方法有:schedule其方法描述如下:schedule(事件,启动时间,间隔时间);2.4、线程应用本程序为文本编辑器,为实现自动更新,应用到了线程,每隔1分钟对文件进行自动更新2.5、异常处理说明(1)打开文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常(2)保存文件时的异常处理需要处理的异常:IOException处理方法:捕获异常后,显示捕获的异常2.6、程序运行效果及存在的问题(1)程序运行主要界面如下:a、主界面b、打开文件对话框c、保存文件对话框d、另存为文件对话框e、查找/替换对话框f.字体对话框2.7.程序尚还存在的问题我花费了近一个多星期的时间,查阅了许多相关的资料,终于把这个Java编辑器,程序基本实现了该课程设计的基本要求。但由于自己水平有限,使得程序还有不是很完善,首先,最重要的一点是该设计的最重要的功能自动改变java关键字的颜色没有实现。三、程序部分源代码及注释//****************************************************// class name :Edit// implements :none// extends :none// attribute :public// founction :entrance of the class//*****************************************************public class Edit{ //主类public static void main(String args[]){EditInstantiation myEdit= new EditInstantiation();myEdit.init(); //初始化myEdit.displayEdit(); //显示窗体}//****************************************************// class name :EditInstantiation// implements :none// extends :WindowAdapter// attribute :default// founction :EditInstantiation of the main class//*****************************************************class EditInstantiation extends WindowAdapter{ //默认属性类//define sources 定义各部件Frame myFrm=new Frame("我的编辑器"); //定义窗体TextArea myText=new TextArea(); //定义窗体Dialog myDlgFind=new Dialog(myFrm,"查找",true); //定义查找对话框Dialog myDlgFindont=new Dialog(myFrm,"字体",true); //定义字体对话框TextField TFfind=new TextField(30);//定义查找对话中的查找输入框TextField TFreplace=new TextField(30); //定义查找对话中的替换输入框TextField TFfontSize,TFfontDemo;//定义字体大小文本框和示例框Choice CHfontName;//定义字体大小选择框List LTfontSize; //定义字体大小标签Button BfontOK,BfontCancel; //定义字体大小对话中的确定及取消按钮Button Bfind=new Button("查找");//定义查找对话中的查找按钮Button Breplace=new Button("替换");//定义查找对话中的替换及取消按钮Button Bnext=new Button("下一个");//定义查找对话中的下一个及取消按钮Button Bcancel=new Button("取消");//定义查找对话中的确定及取消按钮Label Lf=new Label("查找内容:");Label Lr=new Label("替换为: ");Label Ls=new Label("字体大小:");FileDialog myFDlg;Clipboard myCB=Toolkit.getDefaultToolkit().getSystemClipboard(); //剪切板对象Menu Mfile,Medit,Mformation,Mhelp;MenuBar MBbar;//define varities //定义各变量private int VIindex = 1;private String VSsubFixStr=".java";private String VSmyFileName = "Document1",VSmyBFileName;private File VFmyFile=new File(VSmyFileName+VIindex+".java");private int VIsearchPosition=0;private Timer VTtime;private int VImin=1; // parameter in time schedulprivate int VItype=JOptionPane.INFORMATION_MESSAGE;private String VStitle;private String VSmessage;// flag of the changeingprivate boolean VBchanged = true;// the scope of the fontprivate int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2;//************************************************//founction name:init()//parameter :none//attribute :public//founction :initia all compont//************************************************public void init(){ //初始化各部件//------------------ set menu ------------------MBbar=new MenuBar();myFrm.setMenuBar(MBbar);Mfile=new Menu("文件");Medit=new Menu("编辑");Mformation=new Menu("格式");Mhelp=new Menu("帮助");MBbar.add(Mfile);MBbar.add(Medit);MBbar.add(Mformation);MBbar.add(Mhelp);//文件菜单 add File menuMfile.add(new MenuItem("新建",new MenuShortcut(KeyEvent.VK_N)));Mfile.add(new MenuItem("打开",new MenuShortcut(KeyEvent.VK_O)));Mfile.add(new MenuItem("保存",new MenuShortcut(KeyEvent.VK_S)));Mfile.add(new MenuItem("另存为"));Mfile.addSeparator();//分隔线Mfile.add(new MenuItem("退出",new MenuShortcut(KeyEvent.VK_E)));//编辑菜单 add Edit menuMedit.add(new MenuItem("剪切"));//,new MenuShortcut(KeyEvent.VK_X)));Medit.add(new MenuItem("复制"));//new MenuShortcut(KeyEvent.VK_C)));Medit.add(new MenuItem("粘贴"));//new MenuShortcut(KeyEvent.VK_V)));Medit.add(new MenuItem("删除"));//new MenuShortcut(KeyEvent.VK_D)));Medit.addSeparator();//分隔线Medit.add(new MenuItem("查找/替换",new MenuShortcut(KeyEvent.VK_F)));Medit.addSeparator();//分隔线Medit.add(new MenuItem("全选",new MenuShortcut(KeyEvent.VK_A)));//格式菜单 add Formation menuMformation.add(new MenuItem("字体",new MenuShortcut(KeyEvent.VK_U)));//帮助菜单 add Formation menuMhelp.add(new MenuItem("关于作者"));//----------------- menu add end -------------------------//add Menu Action ListenerMfile.addActionListener(new KeyEvents());Medit.addActionListener(new KeyEvents());Mformation.addActionListener(new KeyEvents());Mhelp.addActionListener(new FindKeyEvent());//--------------------------- Find dialog-----------------myDlgFind.setSize(350,115);myDlgFind.setLocation(250,150);myDlgFind.setLayout(new FlowLayout(FlowLayout.CENTER));myDlgFind.setBackground(Color.LIGHT_GRAY);Bfind.setEnabled(false);Breplace.setEnabled(false);Bnext.setEnabled(false);myDlgFind.add(Lf);myDlgFind.add(TFfind);myDlgFind.add(Lr);myDlgFind.add(TFreplace);myDlgFind.add(Bfind);myDlgFind.add(Breplace);myDlgFind.add(Bnext);myDlgFind.add(Bcancel);myDlgFind.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){myDlgFind.setVisible(false);}});//为查找对话框窗体注册事件监听TFfind.addKeyListener(new KeyEvents());//注册事件监听Bfind.addActionListener(new FindKeyEvent());Breplace.addActionListener(new FindKeyEvent());Bcancel.addActionListener(new FindKeyEvent());Bnext.addActionListener(new FindKeyEvent());//--------------- end add action listener ------------//================set font dialog ==============//font size text fieldTFfontSize = new TextField("8",14);TFfontSize.selectAll();//font size list fieldLTfontSize = new java.awt.List(5, false);LTfontSize.addItemListener(new fontEvent());for(int i = VIfontSizeMin; i <= VIfontSizeMax; i = i + VIfontSizeChangedStep)LTfontSize.add(i + "");//添加字体大小LTfontSize.select(0);//two Button Ok CancelBfontOK = new Button("确定");BfontOK.addActionListener(new fontEvent());BfontCancel = new Button("取消");BfontCancel.addActionListener(new fontEvent());//a TextField for demo the fontTFfontDemo = new TextField("Java awt",37);TFfontDemo.setEditable(false);// my font dialog设置字体对话框myDlgFindont.setLayout(new FlowLayout(FlowLayout.LEFT));myDlgFindont.setBackground(Color.LIGHT_GRAY);myDlgFindont.add(Ls);myDlgFindont.add(TFfontSize);myDlgFindont.add(BfontOK);myDlgFindont.add(BfontCancel);myDlgFindont.add(LTfontSize);myDlgFindont.add(TFfontDemo);myDlgFindont.setSize(300,200);myDlgFindont.setLocation(300,200);myDlgFindont.setResizable(false);myDlgFindont.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {myDlgFindont.show(false);}}); //为字体对话框窗体注册事件监听//=============end set font dialog// =======set Edit frame设置编辑器窗休myFrm.add(myText,BorderLayout.CENTER);myFrm.setSize(500,400);myFrm.setBackground(Color.lightGray);myFrm.addWindowListener(this);myFrm.setSize(500,400);myFrm.setLocation(200,100);myFrm.setTitle("Java编辑器");}//************************************************//founction name:displayEdit()//parameter :none//attribute :public//founction :initial and display the frame//************************************************public void displayEdit(){ //显示窗体myFrm.setVisible(true);//---------------------- auto save ---------------------VTtime = new Timer(true);VTtime.schedule(new java.util.TimerTask(){public void run(){if(VSmyFileName!=null){save(VSmyFileName+".java");VSmyBFileName=VSmyFileName+".bak";} //添加自动保存功能save(VSmyBFileName);}}, VImin*60*1000,VImin*60*1000);//parament 1 the task//parament 2 when to start the task//parament 3 set the interval time }//****************************************************// class name :KeyEvents// implements :ActionListener// extends :KeyAdapter// attribute :default// founction :implement the mouse and key action//*****************************************************class KeyEvents extends KeyAdapter implements ActionListener{//********************************************************//founction name:actionPerformed()//parameter :none//attribute :public//return :void//founction :realize the key action in the menu//*********************************************************public void actionPerformed(ActionEvent e){//完成菜单事件的功能// File Menuif (e.getActionCommand()=="新建"){//remind youJFrame aFrame=new JFrame();aFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JOptionPane optionPane=new JOptionPane();String choices[]={"是","否","取消"};int n=optionPane.showOptionDialog(aFrame,"文件正文已更改,是否保存更改","文本编辑器",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE,null,choices,choices[0]);//保存文件后新建if(n==0){//若文件存在,保存在原文件中,再新建文件try{if(VFmyFile.exists()){save(VSmyFileName); // call the save founctionmyText.setText("");VIindex++;}else{//若文件不存在,则保存后再新建myFDlg=new FileDialog(myFrm,"保存文件",FileDialog.SAVE);myFDlg.setFile(VSmyFileName);myFDlg.show();VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();save(VSmyFileName);myText.setText("");VIindex++;}}catch(Exception ne){}}//不保存文件新建if(n==1){myText.setText("");VIindex++;}//取消新建if(n==0){return;}}//打开菜单 Open Menuif (e.getActionCommand()=="打开") {myFDlg=new FileDialog(myFrm,"打开",FileDialog.LOAD);myFDlg.show();if (myFDlg.getFile()!="") {VFmyFile=new File(myFDlg.getDirectory()+myFDlg.getFile());VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();if( VFmyFile.exists()){try{FileReader fr=new FileReader(VFmyFile);BufferedReader br=new BufferedReader(fr);String text;myText.setText("");while ((text=br.readLine())!=null)myText.append(text+"\r\n");br.close();fr.close();}catch(IOException ioe){VStitle="提示";VSmessage="打开文件出错";JOptionPane.showMessageDialog(myFrm,VSmessage,VStitle,VItype);}}}}//保存菜单 Save Menuif (e.getActionCommand()=="保存"){myFDlg=new FileDialog(myFrm,"保存文件",FileDialog.SAVE);myFDlg.setFile(VSmyFileName);myFDlg.show();VSmyFileName=myFDlg.getFile();if(VSmyFileName!=null){VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();save(VSmyFileName);}}//另存为菜单 SaveAs Menuif (e.getActionCommand()=="另存为"){myFDlg=new FileDialog(myFrm,"文件另存为",1);myFDlg.setFile(VSmyFileName);myFDlg.show();VSmyFileName=myFDlg.getFile();if(VSmyFileName!=null){VSmyFileName=myFDlg.getDirectory()+myFDlg.getFile();save(VSmyFileName);}}//退出菜单 exit Menuif (e.getActionCommand()=="退出")System.exit(0);//编辑 Edit Menuif (e.getActionCommand()=="剪切"){//CutString text =myText.getSelectedText();StringSelection selection = new StringSelection(text);myCB.setContents(selection, null);myText.replaceRange("",myText.getSelectionStart(),myText.getSelectionEnd());}if (e.getActionCommand()=="复制"){//copyString text=myText.getSelectedText();if(text!=null){StringSelection selection=new StringSelect

259 评论

相关问答

  • 2000字论文写作模板

    认真写好一篇论文,对自己的专业知识会有更好地理解。这是我为大家整理的 毕业 论文2000字 范文 ,仅供参考!毕业论文2000字范文篇一:《分析对会计政

    kanyuan820 3人参与回答 2023-12-06
  • java毕业论文模板

    可以借助百度Hi示意我们有机会可以解决你的问题差不多的要求也可以示意我们求一篇计算机应用技术的毕业**,我是学java的,我的邮...ES:\\81048C8A

    会员2764311 3人参与回答 2023-12-07
  • 数据结构电梯模拟论文模板

    PLC可编程序控制器:PLC英文全称Programmable Logic Controller ,中文全称为可编程逻辑控制器,定义是:一种数字运算操作的电子系统

    咖啡熊33 3人参与回答 2023-12-11
  • 自命题模拟论文模板

    一、例证法 例证法也叫事例论证,是用令人信服的典型事例来证明自己论点正确的一种方法。它是议论文写作中最常用的一种论证方法。“事实强于雄辩”,在典型的事例面前,道

    Emily147303 2人参与回答 2023-12-06
  • 2000字手写论文模板

    在一篇论文中,规范的论文格式有助于信息交换与处理及学术成果的评价。下面是我整理的2000字小论文格式,欢迎大家阅读。2000字小论文格式 2000字

    yuxinchen008 2人参与回答 2023-12-08