JAVA语言课程设计记事本 .doc

上传人:文库蛋蛋多 文档编号:2386962 上传时间:2023-02-17 格式:DOC 页数:15 大小:76.50KB
返回 下载 相关 举报
JAVA语言课程设计记事本 .doc_第1页
第1页 / 共15页
JAVA语言课程设计记事本 .doc_第2页
第2页 / 共15页
JAVA语言课程设计记事本 .doc_第3页
第3页 / 共15页
JAVA语言课程设计记事本 .doc_第4页
第4页 / 共15页
JAVA语言课程设计记事本 .doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《JAVA语言课程设计记事本 .doc》由会员分享,可在线阅读,更多相关《JAVA语言课程设计记事本 .doc(15页珍藏版)》请在三一办公上搜索。

1、*实践教学*江西中医学院2010年秋季学期 JAVA语言课程设计题 目: 记事本 专业班级: 09计算机班 姓 名: 指导教师: 成 绩: 目 录摘 要2序 言3正 文41.需求分析 42.功能设计43.设计思路44.模块说明图45.程序运行界面66.程序相关说明8源程序8设计总结12参考文献13 摘要该报告中的程序是使用Java程序编写,使用的是Swing设计的,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,该程序还主要用到了Java swing和容器(Container)、组件(Component)、版面管理器(Layout Manager)、事件

2、监听器(Event Listener)等。关键字:记事本程序;Java语言;序言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,

3、Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本程序设计中,运用了许多用于ja

4、va开发的工具包,比如java.awt,java.swing,java.io等包,大大简化了开发的复杂度,提高了效率。正文1. 需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad+,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这

5、样一种使用需要设计了一个简单的记事本程序。2. 功能设计 本程序构建的记事本工具主要具备以下几种功能:(1)菜单中有“文件”,“编辑”,二个主菜单。(2)“文件”有“新建” “打开” “保存” “退出”四个子菜单,分别用于新建文件,打开文件,保存文件,退出记事本。 (3)“编辑”菜单有“复制” “剪切” “查找” “粘贴”等子菜单。3设计思路 在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。4. 模块说明图implementsA

6、ctionListenerJishiben JFrameextends 图1在图1中,首先创建一个名为jishiben的类并继承JFrame类作为最底层的容器。Jishiben 的构造方法初始化容器添加事件监听组件初始化初始化文字输入区菜单栏格式编辑文件字体自动换行查找粘贴复制剪切退出保存打开新建 图2在图2中,构造一个jishiben类时要做三件事情,分别是将窗口中的组件的设置,与事件的处理分别交给setUpUIComponent()与setUpEventListener()两个方法来处理。5程序运行界面图3 记事本运行初始化界面 图4 记事本菜单栏中的“文件”菜单打开 图5 记事本菜单栏中

7、的“编辑”菜单打开6.程序相关说明整个记事本分为两块:菜单栏和内容输入区。本程序中首先定义一个jishben 类继承JFrame作为最底层容器。 (1)TextArea为程序文本输入区。 (2)Menu为菜单栏。 (3)AboutDialog为关于对话框。 (4)要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。源程序 import java.awt.BorderLayout;import java.awt.Container;i

8、mport java.awt.Font;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseListener;import java.awt.event.WindowAdapter;import java.awt.event.KeyAdapter;import java.awt.event.MouseAdapter;impor

9、t java.awt.event.MouseEvent;import java.awt.event.WindowEvent;import javax.swing.BorderFactory;import javax.swing.JLabel;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JScrollPane;import javax.swing.JTextArea;import java

10、x.swing.KeyStroke;import javax.swing.ScrollPaneConstants;import javax.swing.SwingConstants;import javax.swing.JPopupMenu;import javax.swing.JFrame;public class jishiben4 extends JFrame private JMenuItem itemOpen=new JMenuItem(); private JMenuItem itemSave=new JMenuItem(); private JMenuItem itemSaveA

11、s=new JMenuItem(); private JMenuItem itemClose=new JMenuItem(); private JMenu menu2; private JMenuItem itemCut=new JMenuItem(); private JMenuItem itemCopy=new JMenuItem(); private JMenuItem itemPaste=new JMenuItem(); private JMenuItem itemFind=new JMenuItem(); private JMenu menu3; private JMenu menu

12、4; private JMenu menu5; private JTextArea text=new JTextArea(); private JPopupMenu popUpMenu; public jishiben4() super(新建文本文件); setUpUIComponent(); setUpEventListener(); setVisible(true); private void setUpUIComponent() setSize(640, 480); JMenuBar menubar = new JMenuBar(); JMenu menu1, menu2, menu3,

13、 menu4, menu5; JMenuItem itemSaveAs, itemNew, itemClose, itemCut, itemCopy, itemPaste, itemDel, itemFind, item12, item13, item14, item15; /声明 JMenuItem itemOpen, itemSave; /设置“文件”菜单 menu1 = new JMenu(文件); /设置打开项 itemOpen = new JMenuItem(打开(O).); itemOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEven

14、t.VK_O, InputEvent.CTRL_MASK); /设置保存项 itemSave = new JMenuItem(保存); itemSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK); /设置新建项 itemNew = new JMenuItem(新建); itemNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, InputEvent.CTRL_MASK); /设置另存为项 itemSaveAs = new JM

15、enuItem(另存为); /设置关闭项 itemClose = new JMenuItem(关闭); itemClose.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK); menu1.add(itemNew); menu1.addSeparator(); /分隔线 menu1.add(itemOpen); menu1.add(itemSave); menu1.add(itemSaveAs); menu1.addSeparator(); /分隔线 menu1.add(itemClose); /

16、设置“编辑”菜单 menu2 = new JMenu(编辑); /设置“剪切”项 itemCut = new JMenuItem(剪切); itemCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK); /设置“复制”项 itemCopy = new JMenuItem(复制); itemCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK); /设置“黏贴”项 itemPaste = n

17、ew JMenuItem(粘贴); itemPaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK); /设置“查找”项 itemFind = new JMenuItem(查找); itemFind.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK); menu2.add(itemCut); menu2.add(itemCopy); menu2.add(itemPaste); menu2.add

18、(itemFind); /设置“格式”项 menu3 = new JMenu(格式); item12 = new JMenuItem(自动换行); item13 = new JMenuItem(字体); menu3.add(item12); menu3.add(item13); /设置“查看”项 menu4 = new JMenu(查看); item14 = new JMenuItem(状态栏); menu4.add(item14); /设置“帮助”项 menu5 = new JMenu(帮助); item15 = new JMenuItem(帮助主题); menu5.add(item15);

19、 menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); menubar.add(menu5); /设置菜单项 setJMenuBar(menubar); /文字编辑区 JTextArea text = new JTextArea(); text.setFont(new Font(宋体, Font.PLAIN, 16); text.setLineWrap(true); JScrollPane panel = new JScrollPane(text, ScrollPaneConstants.

20、 VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants. HORIZONTAL_SCROLLBAR_NEVER); /插入组件 Container contentPane = getContentPane(); /取得ContentPane contentPane.add(panel, BorderLayout.CENTER); /状态栏 JLabel stateBar = new JLabel(未修改); stateBar.setHorizontalAlignment(SwingConstants.LEFT); stateBar.setBorde

21、r( BorderFactory.createEtchedBorder(); contentPane.add(stateBar, BorderLayout.SOUTH); popUpMenu = menu2.getPopupMenu(); private void setUpEventListener() /单击窗口关闭按钮事件处理 addWindowListener( new WindowAdapter() public void windowClosing(WindowEvent e) closeFile(); ); /菜单“打开”项 itemOpen.addActionListener(

22、 new ActionListener() public void actionPerformed(ActionEvent e) openFile(); ); /菜单“保存”项 itemSave.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) saveFile(); ); /菜单“另存为” itemSaveAs.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) s

23、aveFileas(); ); /菜单“关闭” itemClose.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) closeFile(); ); /菜单“剪切” itemCut.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) cut(); ); /菜单“复制” itemCopy.addActionListener( new ActionListener() p

24、ublic void actionPerformed(ActionEvent e) copy(); ); /菜单“粘贴” itemPaste.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) paste(); ); /菜单“查找” itemFind.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) find(); ); /编辑区键盘事件 text.addKeyLis

25、tener( new KeyAdapter() public void keyTyped(KeyEvent e) processtext(); ); /编辑区鼠标事件 text.addMouseListener( new MouseAdapter() public void mouseReleased(MouseEvent e) if (e.getButton() = MouseEvent.BUTTON3) popUpMenu.show(menu2, e.getX(), e.getY(); public void mouseClicked(MouseEvent e) if (e.getButt

26、on() = MouseEvent.BUTTON1) popUpMenu.setVisible(false); ); private void openFile() private void saveFile() private void saveFileas() private void closeFile() private void cut() private void copy() private void paste() private void find() private void processtext() public static void main(String args

27、) new jishiben4(); 设计总结经过了为期差不多一个多月的时间,基本上完成我们的Java课程设计简单的记事本程序,也基本上实现了我们在需求分析时所预期的功能。通过这次的课程设计,使将我们从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我们所学过的知识,让我们更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我们的动手能力。为了完成好这次课程设计,我们提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中锻炼了我们思维分析、遇到问题及想方设法通过各种途径解决问题的能力。 不过总的来说真的,在这个过程中也相当于锻炼了我们的处理事情的问题,当有问题的时候 我们应该要怎样去处理,而且,发现很明显的一点就是在编辑程序的过程中,真的是需要有耐性和毅力,对于出现的问题不能够太过于求成了,这样的话最后的结果只能是什么也做不成,还会给自己带来无端的好多的烦恼。 参考文献1 庚祥义 张跃平 编著Java 2 实用教程(第三版)清华大学出版社2 良葛格 编著Java学习笔记清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号