当前位置:文档之家› java专业技能实训

java专业技能实训

东北石油大学专业技能实训(二)2017年7月28日东北石油大学专业技能实训任务书课程Java程序设计题目制作一个文本编辑器专业信计14-2 姓名沈小伟学号141001140228主要内容、基本要求、主要参考资料等主要内容:设计一个类似于Windows记事本的Java程序。

可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作,在文本中能够插入对象。

简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。

能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。

主要要求:1.独立完成,并提交一篇实训报告。

2.论文的主要内容包括:所研究的6-8个实验题目所属分类的研究现状,常用技术,实验案例等等;要求有综合性,技术性。

必要的计算机程序。

3.文档格式:参照《东北石油大学课程设计撰写规范》和《专业技能实训》实践大纲。

4.实训以答辩方式进行考核。

主要参考资料:[1] 陈国君, 陈锡祯. Java2程序设计基础[M]. 北京: 清华大学出版社;2006.8[2] 袁海燕. Java实用程序设计100例[M]. 北京: 人民邮电出版社;2006.12:30-58[3] 朱站立、沈伟. Java程序设计实用教程[M]. 电子工业出版社;;2008.11:228-251[4] 印旻编、许伟. Java2从入门到精通[M].北京:清华大学出版社;2006.8:1-21完成期限2017年7月17日-2017年7月28日指导教师李晓威专业负责人仲光苹2017年7 月17日主要内容:一、设计思路(一)设计概念要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等等问题。

现把我的设计思路简要介绍如下:1、明确设计要求首先要创建了一个窗体,标题为“×××设计的文本编辑器”,设计要求是要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单击新建时就可以新建一个空白文档;当单击打开时可以从已有的目录下打开需要打开的文本文件,在原有文件中可以选择要打开的文件;当单击保存时可以出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。

在编辑菜单下的子菜单复制,可以进行对文本的复制。

在文本区内要求当单击鼠标右键时可以弹出菜单,要求有两个子菜单为复制和字体,通过单击字体菜单可以实现对字体改变。

而且在窗体的右上方有三个按钮可以实现最小化、最大化、和关闭。

而且用户也可以根据自己的需要改变窗体的大小。

2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的程序语言)(1)创建一个窗体,包括构造一个文本域为编辑器各种功能的实现提供一个伸展平台;(2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单);(3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单包括的子菜单为复制和粘贴;(4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。

3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要求,是否达到理想中的那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义上的完成整个设计过程。

(二)流程图二、设计过程1、功能介绍:通过记事本编辑器可以实现新建、打开、保存文本文件、以及退出;同时也有对字体的改变、对字的颜色的改变以及复制、粘贴等功能,根据自己的意愿改变窗体,实行对其的最小化、最大化、关闭等等。

2、设计步骤:import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.print.*;import java.awt.datatransfer.*;import java.applet.*;import javax.swing.JColorChooser;import javax.swing.event.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;import javax.swing.colorchooser.*;引用两个包:javax、java、以及对应的方法(1)首先创建一个公共的类名为Bjq为文本编辑器创建一个窗体并设计标题为:08通信(2)班骆玉春设计的文本编辑器Bjq;并创建编辑器的文本域,具体代码如下;//设计标题JFrame f = new JFrame();f.setTitle("文本编辑器Bjq");//构造文本域JTextArea aa = new JTextArea("", 20, 50);//构造一个文本域(2)创建一个空的菜单条并添加两个菜单项(文件、编辑)JMenuBar cc = new JMenuBar();//创建一个空的菜单条//创建"文件"和"编辑"这两个菜单项JMenu file = new JMenu("文件");JMenu edit = new JMenu("编辑");(3)先设计一个匿名内部类,为文件、编辑菜单添加新建和其他下拉子菜单“新建”子菜单:创建OpenL类实现了ActionLister并实现其读取文件的功能以匿名内部类的形式创建菜单监听器这些代码的作用是实现对新建、保存、打开、退出、复制进行监听,// 实现文本文件的打开功能----即文件菜单下的子菜单"打开"class openL implements ActionListener {public void actionPerformed(ActionEvent e) {JFileChooser fc = new JFileChooser();int returnVal = fc.showDialog(Bjq.this, "打开");“退出”子菜单://实现文本文件的退出功能----即文件菜单下的子菜单"退出"class exitL implements ActionListener {public void actionPerformed(ActionEvent e) {System.exit(0);}}//新建、保存、复制、粘贴与之相类似就不做说明(4)右键快捷菜单的字体子菜单的创建:字体包括字体的大小和字体的颜色等等// 设计字体大小class fontsize implements ActionListener {public void actionPerformed(ActionEvent e) {int n;String no;no=JOptionPane.showInputDialog("请输入你想要的字体大小:");n=Integer.parseInt(no);Font ft;ft=new Font("",Font.BOLD,n);aa.setFont(ft);}}通过用户输入所需的字号的大小来调节字体大小以满足不同需要,// 设计字体颜色class fontcolor implements ActionListener {public void actionPerformed(ActionEvent e) {Color a=new Color(0,192,191);JColorChooser c=new JColorChooser();a=c.showDialog(Bjq.this, "颜色选择框",a);aa.setForeground(a);}}(5)为鼠标创建监听器。

用于用鼠标点击右键时出现快捷菜单:复制、粘贴、字体大小、字体颜色。

popup = new JPopupMenu();JMenuItem copy = new JMenuItem("复制");JMenuItem word = new JMenuItem("字体");public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mousePressed(MouseEvent e){}public void mouseReleased(MouseEvent e){}当单击右键时可以弹出复制、粘贴和字体菜单,实现功能,实现鼠标的控制来完成弹出菜单的操作。

(6)为窗体添加监听器当用户按关闭按钮时就可以将窗口关闭,实现了对窗体的控制。

// 关闭窗口protected static final class appCloseL extends WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0);}f.setSize(800, 500);f.setVisible(true);(这两个代码是设计窗体的的大小和窗口的可见性。

)(7)设计main方法:为整个程序的开始提供了入口,public static void main(String args[]) {JFrame f = new JFrame();Bjq applet = new Bjq();f.setTitle("一生痴狂一世繁华BY 梦落痴狂");f.setBackground(Color.red);f.getContentPane().add(applet, BorderLayout.CENTER);f.addWindowListener(new appCloseL());f.setSize(800, 500);f.setVisible(true);f.pack();}为静态的主函数。

三、设计体会Java语言是很神奇的一门课程,我喜欢编程。

喜欢最后编完的一刹那的成功,尤其是进行课程设计,我更加深刻体会到了Java的诡异,无法掌控,最后的程序虽没有实现所有功能,但也可以运行了,这次课程设计中我独立完成了程序的绝大多数部分,很开心。

不过有太多不会,总是蒙一些东西。

有些一知半解的东西还是不了解,有些东西是会用了,但对其工作原理却很模糊。

相关主题