java课程设计论文和代码(java学生信息管理 课设或论文)
本文目录
java学生信息管理 课设或论文
java学生信息管理摘要随着计算机技术日渐成熟,它已经进入人类社会的各个领域并发挥着越来越重要的作用。而在我们的生活周边,也越来越能够感受到计算机技术给我们带来的巨大冲击和快捷。作为计算机应用的一部分,学校使用计算机对学校的学生的信息进行管理,与手工管理相比拥有其无可比拟的优势。例如:检索快速、查找方便、可靠性高、存储量大、保密性好、信息保存时间长等。这些优点能够极大地提高学校学生信息管理的效率,也是学校管理科学化、正规化的重要条件和标志。学生管理系统采用现在流行的JAVA编程语言来进行开发的。在系统界面开发中采用流行的JAVA API之一JAVA SWING来对系统的界面进行设计,布局以及开发。系统界面图形化,操作简单明了,容易上手。在数据处理方面,此系统采用JAVABEAN来封装对数据的操作,提高了安全性。同时,系统采用SQL SERVER 2000数据库系统来支持该系统的数据操作,能够更加有效地、方便地处理系统的数据。系统的实现是多种技术的结合,图形化的操作界面使系统设计更具人性化,适合各类管理层用户使用。关键字:学生管理系统;JAVA;JAVA SWING;JAVABEAN;图形化操作;数据处理;SQL SERVER 2000第一章 概述1.1系统的特点与开发的预期目标1.1.1系统的开发背景学生管理系统是一个学校不可或缺的一部分,它的存在无论是对学校管理者还是学生来说都是至关重要的,所以学生管理系统应该能够为管理者提供充足的信息和快捷的查询手段。然而长期以来,学校基本上都是使用传统人工的方式来管理学生课程信息。而这种传统的管理方式随着科学技术的发展也渐渐的显现出效率低下、保密性差的弊端。另外,随着时间的不断增长将会产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事劳资信息进行管理,具有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是科学化、正规化管理与世界接轨的重要条件。因此,开发这样一套管理软件成为每个学校很有必要的事情1.2系统的特点与开发的预期目标在系统管理模块中,此模块提供了退出系统的功能 在学生管理模块中,此模块提供了增加学生信息,修改学生信息和删除学生信息等基本功能,除此之外,还具备学生选课功能 在课程管理模块中,此模块提供了管理员可以对课程的基本信息进行增加、修改以及删除等基本功能 在成绩管理模块中,此模块中具备对进行了选课的学生所选择的的课程的成绩进行增加和修改的功能 在信息查询模块中,此模块包含三个方面的查询功能,即学生查询、课程查询、成绩查询。其中,在学生查询模块中,可以按照学号、姓名、性别、学院、专业等条件来进行查询;在课程查询模块中则可以按照课程名和授课老师等条件来对所需的信息进行查询;在成绩查询模块中则可以查询出学生所有科目的成绩1.3可行性研究通过调查分析,建立新的学生信息管理信息系统有其充分的必要性和可能性。可以建立该信息系统的可能性具体包含了它具有经济可行性、技术可行性和社会可行性,新系统能达到以最小的开发成本取得最佳的经济效益,开发中所需人员、硬软件支持以及其它费用进行估算情况均满意,技术条件也能保证顺利完成开发工作。1.3.1 经济性通过网络化的学生信息管理,大大的提高了工作效率和人才的利用率,使之创造了更大价值;减少了工作人员,同时减少了学校开支;人才利用率的提高,适应了信息时代的网络化管理要求。1.3.2技术可行性 本系统是采用目前比较流行的JAVA语言,用Microsoft Access 2000数据库完成。由于JAVA的与平台无关性,所以在任何有JAVA运行环境的计算机上都可以运行。1.3.3操作可行性对于用户来说,本系统只要求使用者掌握一般的上网经验,经过仔细设计和测试之后的系统具有操作简单,方便灵活等优点,足可以满足用户的不同需求,同时也方便了学校的内部管理。用户一定会在短时间内掌握并熟练使用。只要动一动鼠标键盘就可以达到想要的效果。1.4开发工具1.4.1开发工具介绍由于的ECLIPSE3.2具有操作界面方便,简单,美观的特点;并且在编码过程中如果出现语法错误,标点错误等都会有相应的提示,可以很快地发现错误,因此本系统的开发选用ECLIPSE3.2作为开发工具。1.4.2相关技术介绍本系统采用面向对象的软件开发办法,以Sun公司的Java语言作为主要开发语言,使用SQL 2000作为关系数据库,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。(1) JAVA简介 Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。 Java去掉了C++语言的许多功能,如:指针运算、结构、typedefs、#define、需要释放内存,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。这将减少了平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。 当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设置防火墙,阻止非法侵入。而Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。(2) Sql 2000简介 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。特点如下:1.真正的客户机/服务器体系结构。 2.图形化用户界面,使系统管理和数据库管理更加直观、简单。 3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。1.5运行环境运行服务器:JDK1.5版本或更高 数据库支持:SQL SERVER2000 操作系统:WINDOWS系列,LINUX系列或UNIX系列 硬件要求:内存最低为256MB,硬盘空间至少20G1.6开发环境 开发语言:JAVA 编译程序:JDK1.5 开发工具:ECLIPSE3.2 数据库:SQL SERVER2000 操作系统:WINDOWS XP
各位大神 Java课程设计急需1500行以上代码 最好是数独 但是管理系统物流系统这类的的也可以 谢谢啦
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame { private Container container; private GridBagLayout layout; private GridBagConstraints constraints; private JTextField displayField;private String lastCommand;private double result;private boolean start;public Calculator() { super(“Calculator“); container=getContentPane(); layout=new GridBagLayout(); container.setLayout(layout); constraints=new GridBagConstraints(); start=true; result=0; lastCommand = “=“; displayField=new JTextField(20); displayField.setHorizontalAlignment(JTextField.RIGHT); constraints.gridx=0; constraints.gridy=0; constraints.gridwidth=4; constraints.gridheight=1; constraints.fill=GridBagConstraints.BOTH; constraints.weightx=100; constraints.weighty=100; layout.setConstraints(displayField,constraints); container.add(displayField); ActionListener insert = new InsertAction(); ActionListener command = new CommandAction(); addButton(“Backspace“,0,1,2,1,insert); addButton(“CE“,2,1,1,1,insert); addButton(“C“,3,1,1,1,insert); addButton(“7“,0,2,1,1,insert); addButton(“8“,1,2,1,1,insert); addButton(“9“,2,2,1,1,insert); addButton(“/“,3,2,1,1,command); addButton(“4“,0,3,1,1,insert); addButton(“5“,1,3,1,1,insert); addButton(“6“,2,3,1,1,insert); addButton(“*“,3,3,1,1,command); addButton(“1“,0,4,1,1,insert); addButton(“2“,1,4,1,1,insert); addButton(“3“,2,4,1,1,insert); addButton(“-“,3,4,1,1,command); addButton(“0“,0,5,1,1,insert); addButton(“+/-“,1,5,1,1,insert);addButton(“.“,2,5,1,1,insert); addButton(“+“,3,5,1,1,command); addButton(“=“,0,6,4,1,command); setSize(300,300); setVisible(true); } private void addButton(String label,int row,int column,int with,int height,ActionListener listener) { JButton button=new JButton(label); constraints.gridx=row; constraints.gridy=column; constraints.gridwidth=with; constraints.gridheight=height; constraints.fill=GridBagConstraints.BOTH; button.addActionListener(listener); layout.setConstraints(button,constraints); container.add(button); } private class InsertAction implements ActionListener { public void actionPerformed(ActionEvent event) { String input=event.getActionCommand(); if (start) { displayField.setText(““); start=false; if(input.equals(“+/-“)) displayField.setText(displayField.getText()+“-“); } if(!input.equals(“+/-“)) { if(input.equals(“Backspace“)) { String str=displayField.getText(); if(str.length()》0) displayField.setText(str.substring(0,str.length()-1)); }else if(input.equals(“CE“)||input.equals(“C“)) { displayField.setText(“0“); start=true; }else displayField.setText(displayField.getText()+input); } } } private class CommandAction implements ActionListener { public void actionPerformed(ActionEvent evt) { String command=evt.getActionCommand(); if(start) { lastCommand=command; }else { calculate(Double.parseDouble(displayField.getText())); lastCommand=command; start=true; } } } public void calculate(double x) { if (lastCommand.equals(“+“)) result+= x; else if (lastCommand.equals(“-“)) result-=x; else if (lastCommand.equals(“*“)) result*=x; else if (lastCommand.equals(“/“)) result/=x; else if (lastCommand.equals(“=“)) result=x; displayField.setText(““+ result); } public static void main(String args) { Calculator calculator=new Calculator(); calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
java毕业论文设计代码
出售计算机相关专业毕业设计程序:300元/KL (每1000行代码300元)论文:200元程序 + 论文 = 600元大连地区上门指导:50元/小时纯手工程序。以上价格为人民币付款。大连地区可当面交易
谁教教我怎么写JAVA的课程设计论文
目 录一、概要设计……………………………………………………………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 toolKit Clipboard 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 schedul private int VItype=JOptionPane.INFORMATION_MESSAGE; private String VStitle; private String VSmessage; // flag of the changeing private boolean VBchanged = true; // the scope of the font private 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 menu Mfile.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 menu Medit.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 menu Mformation.add(new MenuItem(“字体“,new MenuShortcut(KeyEvent.VK_U))); //帮助菜单 add Formation menu Mhelp.add(new MenuItem(“关于作者“)); //----------------- menu add end ------------------------- //add Menu Action Listener Mfile.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 field TFfontSize = new TextField(“8“,14); TFfontSize.selectAll(); //font size list field LTfontSize = 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 Cancel BfontOK = new Button(“确定“); BfontOK.addActionListener(new fontEvent()); BfontCancel = new Button(“取消“); BfontCancel.addActionListener(new fontEvent()); //a TextField for demo the font TFfontDemo = 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 Menu if (e.getActionCommand()==“新建“){ //remind you JFrame 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); //保存文件后新建 if(n==0){//若文件存在,保存在原文件中,再新建文件 try{ if(VFmyFile.exists()){ save(VSmyFileName); // call the save founction myText.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 Menu if (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 Menu if (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 Menu if (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 Menu if (e.getActionCommand()==“退出“) System.exit(0); // Edit Menu if (e.getActionCommand()==“剪切“){ //Cut String text =myText.getSelectedText(); StringSelection selection = new StringSelection(text); myCB.setContents(selection, null); myText.replaceRange(““,myText.getSelectionStart(),myText.getSelectionEnd()); } if (e.getActionCommand()==“复制“){ //copy String text=myText.getSelectedText(); if(text!=null){ StringSelection selection=new StringSelect
更多文章:

stringbuilder和stringbuffer(StringBuffer与StringBuilder的区别是什么)
2025年2月11日 07:20

wordpress二次元模板(请指点一下异次元软件世界模版(wordpress)的独立下载页面是如何实现的)
2025年2月16日 14:00

oracle vm virtualbox官网(Oracle VM VirtualBox 启动报错求助)
2025年3月29日 02:40

layui插件(使用layer插件,当鼠标经过验证码时,验证码会自动更新,请问怎么解决)
2025年2月14日 17:30