基于JAVA的记事本设计报告

合集下载

java课程设计报告记事本

java课程设计报告记事本

java课程设计报告记事本一、教学目标本课程旨在通过学习Java编程语言,使学生掌握Java编程的基本语法、面向对象编程思想,以及常用数据结构和算法。

通过本课程的学习,使学生能够独立完成简单的Java程序,培养学生的编程能力和逻辑思维能力。

同时,通过实践操作,使学生掌握Java开发工具的使用,提高学生的动手能力。

在学习过程中,培养学生积极思考、合作探讨的学习态度,提高学生的自主学习能力。

二、教学内容本课程的教学内容主要包括Java基本语法、数据类型、运算符、控制结构、数组、字符串、面向对象编程、异常处理、文件操作、集合框架、多线程编程等。

具体到教材,我们将按照教材的章节顺序进行教学,每个章节都会讲解相应的知识点,并通过实例进行讲解和演示。

在讲解过程中,我们会结合实际的编程案例,使学生能够更好地理解和掌握Java编程的知识。

三、教学方法为了提高教学效果,我们将采用多种教学方法进行教学。

首先,通过讲授法,向学生传授Java编程的基本知识和技巧。

其次,通过讨论法,引导学生进行思考和讨论,培养学生的逻辑思维能力。

再次,通过案例分析法,让学生通过分析实际案例,掌握Java编程的实际应用。

此外,我们还会安排实验课,让学生亲自动手编写代码,提高学生的动手能力。

通过多种教学方法的运用,激发学生的学习兴趣,提高学生的学习主动性。

四、教学资源为了保证教学质量,我们将准备丰富的教学资源。

教材和参考书将作为主要的学习材料,我们将选择内容丰富、讲解详细的教材和参考书。

此外,我们还会收集和整理多媒体教学资料,如教学视频、PPT课件等,以丰富教学手段,提高学生的学习兴趣。

在实验课上,我们将使用实验室的计算机进行教学,并配备相应的实验设备,以保证学生能够顺利进行实验操作。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采取多种评估方式。

首先,通过平时表现评估,观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和理解能力。

java课程设计报告记事本

java课程设计报告记事本

Java课程设计报告:记事本1. 引言记事本是一款常见的文本编辑工具,广泛应用于日常工作和学习中。

本文将介绍一种基于Java语言开发的简易记事本设计方案。

2. 设计思路2.1 界面设计记事本的界面应简洁明了,方便用户进行文本编辑和操作。

可以考虑使用Swing或JavaFX等图形库来创建用户界面。

2.1.1 主窗体记事本的主窗体应包含一个菜单栏和一个文本编辑区域。

菜单栏包含文件、编辑、格式等功能项,可以使用Java提供的菜单组件来实现。

2.1.2 文件操作在菜单栏的文件功能项中,应包含新建、打开、保存、另存为等操作。

这些功能可以通过文件选择对话框来实现。

2.1.3 文本编辑文本编辑区域应支持基本的编辑功能,如复制、粘贴、剪切和撤销等操作。

可以使用Java提供的文本框组件来实现。

2.2 功能设计记事本的功能设计应满足用户的基本需求,如文本编辑、保存和打开文件等。

2.2.1 文本编辑功能用户可以在文本编辑区域输入和编辑文本内容。

可以提供字体、颜色和对齐等格式设置功能。

2.2.2 文件操作功能用户可以通过菜单栏的文件功能项进行文件的新建、打开、保存和另存为等操作。

可以使用Java的文件IO功能来实现。

2.3 实现步骤2.3.1 创建主窗体首先,需要创建一个主窗体,并设置合适的大小和布局。

可以使用Swing或JavaFX提供的窗体组件来实现。

2.3.2 添加菜单栏在主窗体中添加一个菜单栏,并设置合适的菜单和菜单项。

可以使用Java提供的菜单和菜单项组件来实现。

2.3.3 添加文件操作功能在菜单栏的文件功能项中添加新建、打开、保存和另存为等功能,并实现相应的事件处理。

可以使用Java提供的文件选择对话框和文件IO功能来实现。

2.3.4 添加文本编辑功能在主窗体中添加一个文本编辑区域,并提供复制、粘贴、剪切和撤销等编辑功能。

可以使用Java提供的文本框组件和编辑功能来实现。

3. 实现代码以下是一个简单记事本的Java代码示例:import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;public class Notepad extends JFrame {private JTextArea textArea;private JFileChooser fileChooser;public Notepad() {setTitle("记事本");setSize(600, 400);setDefaultCloseOperation(EXIT_ON_CLOSE);createMenuBar();textArea = new JTextArea();JScrollPane scrollPane = new JScrollPane(textArea);add(scrollPane, BorderLayout.CENTER);fileChooser = new JFileChooser();setVisible(true);}private void createMenuBar() {JMenuBar menuBar = new JMenuBar();JMenu fileMenu = new JMenu("文件");JMenuItem newMenuItem = new JMenuItem("新建");JMenuItem openMenuItem = new JMenuItem("打开");JMenuItem saveMenuItem = new JMenuItem("保存");JMenuItem saveAsMenuItem = new JMenuItem("另存为");newMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {textArea.setText("");}});openMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showOpenDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedReader reader = new BufferedReader(new FileReader(file));String line;StringBuilder content = new StringBuilder();while ((line = reader.readLine()) != null) { content.append(line).append("\n");}reader.close();textArea.setText(content.toString());} catch (IOException ex) {ex.printStackTrace();}}}});saveMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});saveAsMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});fileMenu.add(newMenuItem);fileMenu.add(openMenuItem);fileMenu.add(saveMenuItem);fileMenu.add(saveAsMenuItem);menuBar.add(fileMenu);setJMenuBar(menuBar);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {@Overridepublic void run() {new Notepad();}});}}4. 总结本文介绍了一种基于Java语言开发的简易记事本设计方案。

java记事本实验报告

java记事本实验报告

java记事本实验报告篇一:JAVA记事本实验报告(含源代码运行结果)嘉应学院计算机学院系/班别:指导老师:课程名称:实验内容:学生学号:学生姓名:实验地点:实验类型:实验时间:实验报告计算机学院1203班 Java语言程序设计用Java编写记事本第十四周至第十七周实验要求:能够通过使用JDK1.6安装开发windows 桌面应用程序。

实验目的:熟悉事件触发和事件监听以及组件和容器的界面安排,能够用java设计一个仿windows的标准型记事本。

实验过程描述:一、实验环境:网络实验室二、实验设备:PC机, 网络三、实验平台:winxp. JDK1.6过程描述:1.首先,安装JDK1.62.打开开始-》运行->输入cmd进入dos->cd 路径(原程序的路径)->javac NotepadTest.java(编绎)->java NotepadTest运行四、编写程序:import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;class MyTransferHandler extends TransferHandler { JTextArea text=null;public MyTransferHandler(JTextArea text){this.text=text;}public boolean canImport(JComponent c, DataFlavor[] flavors)//在拖放操作期间重复调用此方法,判断是否可以输入{for (int i = 0; i if (return true;}}return false;}public boolean importData(JComponent com,Transferable t){try{篇二:记事本的设计与实现Java版实验报告报告编号:第九组JAVA课程设计报告记事本的设计与实现学生姓名:指导教师:所在系:电子信息系所学专业:计算机科学与技术年级:XX年12月目录摘要 ................................................ ................................................... .. (1)第1章前言 ................................................ ................................................... . (2)1.1研究背景................................................. ................................................... . (2)1.2 开发意义................................................. ................................................... (2)1.3 本文的组织结构 ................................................ ................................................... . (2)第2章需求分析 ................................................ ................................................... . (3)2.1系统功能分析 ................................................ ................................................... (3)2.2 设计目标................................................. ................................................... (4)第3章概要设计 ................................................ ................................................... . (5)第4章详细设................................................... ..................... (7)4.1文件模块的详细设计 ................................................ ................................................... (7).............................................. (7).............................................. (8).............................................. (8).............................................. (9)4.2编辑模块的详细设计 ................................................ ................................................... (9).............................................. (9) (10).............................................. . (11).............................................. . (11).............................................. . (12).............................................. . (12).............................................. . (13)4.3格式模块的详细设计 ................................................ ................................................... . (14)第5章系统测试 ................................................ ................................................... (15)5.1 程序主界面.................................................................................................... (15)5.2文件界面................................................. ................................................... .. (15)5.3编辑菜单................................................. ................................................... .. (17)第6章小结 ................................................ ................................................... .. (27)参考文献 ................................................ ................................................... . (27)摘要本组课程设计的课题是“记事本的设计与实现”,设计的记事本系统应具有新建、打开、保存、剪切、复制、粘贴、查找、字体设置等基本功能,满足用户对文件的处理,文本文档的编辑和字体的设置等要求。

java记事本实验报告

java记事本实验报告

java记事本实验报告篇一:JAVA记事本实验报告(含源代码运行结果)嘉应学院计算机学院系/班别:指导老师:课程名称:实验内容:学生学号:学生姓名:实验地点:实验类型:实验时间:实验报告计算机学院1203班 Java语言程序设计用Java编写记事本第十四周至第十七周实验要求:能够通过使用JDK1.6安装开发windows 桌面应用程序。

实验目的:熟悉事件触发和事件监听以及组件和容器的界面安排,能够用java设计一个仿windows的标准型记事本。

实验过程描述:一、实验环境:网络实验室二、实验设备:PC机, 网络三、实验平台:winxp. JDK1.6过程描述:1.首先,安装JDK1.62.打开开始-》运行->输入cmd进入dos->cd 路径(原程序的路径)->javac NotepadTest.java(编绎)->java NotepadTest运行四、编写程序:import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;class MyTransferHandler extends TransferHandler { JTextArea text=null;public MyTransferHandler(JTextArea text){this.text=text;}public boolean canImport(JComponent c, DataFlavor[] flavors)//在拖放操作期间重复调用此方法,判断是否可以输入{for (int i = 0; i if (return true;}}return false;}public boolean importData(JComponent com,Transferable t){try{篇二:记事本的设计与实现Java版实验报告报告编号:第九组JAVA课程设计报告记事本的设计与实现学生姓名:指导教师:所在系:电子信息系所学专业:计算机科学与技术年级:XX年12月目录摘要 ................................................ ................................................... .. (1)第1章前言 ................................................ ................................................... . (2)1.1研究背景................................................. ................................................... . (2)1.2 开发意义................................................. ................................................... (2)1.3 本文的组织结构 ................................................ ................................................... . (2)第2章需求分析 ................................................ ................................................... . (3)2.1系统功能分析 ................................................ ................................................... (3)2.2 设计目标................................................. ................................................... (4)第3章概要设计 ................................................ ................................................... . (5)第4章详细设................................................... ..................... (7)4.1文件模块的详细设计 ................................................ ................................................... (7).............................................. (7).............................................. (8).............................................. (8).............................................. (9)4.2编辑模块的详细设计 ................................................ ................................................... (9).............................................. (9) (10).............................................. . (11).............................................. . (11).............................................. . (12).............................................. . (12).............................................. . (13)4.3格式模块的详细设计 ................................................ ................................................... . (14)第5章系统测试 ................................................ ................................................... (15)5.1 程序主界面.................................................................................................... (15)5.2文件界面................................................. ................................................... .. (15)5.3编辑菜单................................................. ................................................... .. (17)第6章小结 ................................................ ................................................... .. (27)参考文献 ................................................ ................................................... . (27)摘要本组课程设计的课题是“记事本的设计与实现”,设计的记事本系统应具有新建、打开、保存、剪切、复制、粘贴、查找、字体设置等基本功能,满足用户对文件的处理,文本文档的编辑和字体的设置等要求。

Java记事本程序课程设计报告

Java记事本程序课程设计报告
(2)窗口关闭监听方法:void windowClosing(WindowEvent e)
方法部分内容如下:
关闭时提示是否退出。
int option=JOptionPane.showConfirmDialog(
Note.this, "确定退出程序? ", "提示",JOptionPane.YES_NO_CANCEL_OPTION);
(4).“作者”菜单中有关于记事本程序的作者信息。
Java记事本程序是:图形界面、流与文件等技术的综合应用。
图形界面的实现:考虑到简单、实用、高效等特点,大部分选择了awt来完成实现,其中也有swing组件。文本编辑区就选用了TaxtArea作为主要的部件。
文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。
本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:
(1).菜单中有“文件”,“编辑”,“作者”三个主菜单。
(2).“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。
(3).“编辑菜单”有“查找、替换、时间日期”功能。
Label lReplace=new Label("替换字符串");
TextField tFind=new TextField(10);
TextField tReplace=new TextField(10);
Button bFind=new Button("查找");
Button bReplace=new Button("替换");
MyFindDialog findDlg=new MyFindDialog(this,tf);

java课程设计记事本设计报告

java课程设计记事本设计报告

java课程设计记事本设计报告一、教学目标本课程旨在通过Java编程语言实现一个记事本应用程序,让学生掌握Java编程的基本概念和方法,培养学生的编程能力和解决问题的能力。

1.理解Java编程语言的基本语法和结构。

2.掌握Java编程中的数据类型、变量、运算符、控制语句等基本概念。

3.学习Java中的类和对象的概念,理解封装、继承和多态的原理。

4.熟悉Java中的常用类库和方法。

5.能够运用Java编程语言编写简单的程序。

6.能够使用Java编程语言实现一个记事本应用程序,包括文本的增删改查等功能。

7.能够分析并解决编程过程中遇到的问题。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。

2.培养学生的创新思维和解决问题的能力,鼓励学生进行自主学习和探索。

3.培养学生的学习兴趣和自信心,让学生感受到编程的乐趣和成就感。

二、教学内容本课程的教学内容主要包括Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现。

1.Java编程语言的基本概念和方法:–数据类型、变量、运算符、控制语句等基本概念。

–类和对象的概念,封装、继承和多态的原理。

–常用类库和方法的使用。

2.记事本应用程序的设计和实现:–用户界面设计:创建文本框、按钮等控件,实现用户输入和显示功能。

–文件操作:实现文件的打开、保存、关闭等功能,使用文件读写技术。

–文本处理:实现文本的增删改查等功能,使用数据结构和算法进行文本管理。

三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:教师通过讲解Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现,引导学生掌握相关知识。

2.讨论法:学生分组进行讨论,分享自己的理解和思路,互相学习和交流。

3.案例分析法:分析实际案例,让学生了解记事本应用程序的实际应用场景和设计思路。

4.实验法:学生通过编写代码和进行实验,实现记事本应用程序的功能,培养学生的实际编程能力和解决问题的能力。

记事本java程序设计报告

记事本java程序设计报告

记事本java程序设计报告~ 第1学期《Java程序设计》课程报告项目:日历记事本专业:计算机科学与技术学号: 10570235姓名:常兆华班级:计算机2班分数:项目说明目录第一部分、项目整体概述 (3)页第二部分、我的任务 (5)页第三部分、代码和详细注释 (6)页第四部分、心得体会 (14)页第一部分、项目整体概述日历记事本----------带有日程提醒功能的日历。

2.显示信息:用户能够看到这个月的信息,包括年份、日期等。

点击翻页按钮能够查询前一个月的日期,也能够向后翻页查询下一个月的日期。

同样,能够根据年份查询不同年份的日期。

日期的显示有一些优化,用户不但能够查询到本月份的信息,还能够根据上个月与下个月的日期填充来方便查询日期和星期。

3.定时提醒:用户能够针对某一天来添加、删除和编辑这一天的日程提醒信息当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。

4.查询信息:用户能够查询到某个月的所有的提示信息。

日历记事本共有4个java源文件。

CalendarPad.java该java文件生成的类负责创立本日历记事本程序主窗口。

该类含有main方法,程序从该类开始执行。

Year.java该文件负责创立管理年份的对象。

Month.java该文件负责创立管理月份的类对象。

NotePad.java该文件负责创立记事本。

截图:初始界面可输入年份查看相应的日历与记事本第二部分、我的任务具体任务:资料查找,汇总及需求分析,负责日历的编写,和板块的布局输出等。

编写大致思路:我主要负责这个项目中日历的编写和输出显示的一部分。

经过调查自己电脑中的日历记事本和大家纸质的日历记事本,我知道若想完整地显示一个月的信息至少需要一个首先需要一个7*7的网格,要用到GridLayout网格设置语言。

其中每一列的顶层能够称它为title“标题”,也就是显示“星期几”,表头显示这个月所在的年份与月份。

随后对日期进行编号,判断闰平年、大小月等必要的程序。

《Java》课程设计》记事本

《Java》课程设计》记事本

《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。

(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。

首先是标准型的记事本,拥有文件、编辑。

格式和帮助。

如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。

如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。

如图三所示。

图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。

如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。

如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。

如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。

Java记事本程序的设计综合实验报告_记事本

Java记事本程序的设计综合实验报告_记事本
JMenuItem mt9 = new JMenuItem("剪切(T)", 'T');
JMenuItem mt10 = new JMenuItem("复制(C)", 'C');
JMenuItem mt11 = new JMenuItem("粘贴(P)", 'P');
JMenuItem mt12 = new JMenuItem("删除(L)", 'L');
}
});
pm.add(cut);
pm.add(copy);
pm.add(paste);
pm.add(Delete);
pm.addSeparator();
pm.add(All);
cut.addActionListener(this);
copy.addActionListener(this);
paste.addActionListener(this);
new Jishiben();
}
}
4.程序实现说明
运行程序后,显示主界面如图4.1所示:
图4.1主界面
点击文件,显示文件菜单的各种功能,如图4.2所示:
5.总结
本程序是简单的记事本程序。主要实现以下功能:文件的新建、打开、保存、退出,对文本内容的撤销、剪切、复制、粘贴、删除。该程序操作方便快捷,各种操作简单明了,基本上能满足用户的需求。
(6)编写剪切模块。将需要编辑的内容进行剪切。
(7)编写复制模块。复制用户选中的内容。
(5)编写粘贴模块。粘贴需要复制的内容。
(6)编写删除模块。删除选中的文本内容。
(7)编写全选模块。选中需要进行操作的文本内容。

JAVA课程设计---设计一个记事本

JAVA课程设计---设计一个记事本

课程设计(大作业)报告课程名称:面向对象程序设计设计题目:设计一个记事本院系:信息技术学院课程设计(大作业)任务书课程设计(大作业)报告一、需求分析如今有关记事本的软件种类繁多。

功能也是应有尽有,但是,软件并不是十全十美的:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,实现输入、保存、编辑等简单实用的功能就够了。

本程序的设计就是依照这样一种需要设计了一个简单的记事本程序。

本程序要构建的记事本程序参照了Windows操作系统的记事本工具,具体其功能有以下几个方面:(1)菜单中有“文件”,“编辑”,“关于”三个主菜单。

(2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。

(3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字,复制文字,粘贴文字。

增加了“颜色”子菜单来对文字的颜色进行设置。

(4)“关于”菜单中有关于记事本程序的制作日期,作者等信息。

二、系统总体设计在本程序中,设计了一个菜单栏和文本内容区。

设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。

JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。

JTextPane主要用来输入文本。

为了加入颜色的设置,所以加了一个JColorChooser组件。

1.系统功能结构图设计2.系统文件结构图设计3.系统编辑结构图设计UML图:三、软件平台1、使用JDK配置环境在JAVA编辑器下进行编辑JAVA源程序2、EditPlus 3四、模块的分析与实现构建菜单以及下拉菜单:JMenu[] menus=new JMenu[]{new JMenu("文件"),new JMenu("编辑"),new JMenu("关于")};J MenuItem optionofmenu[][]=new JMenuItem[][]{{new JMenuItem("新建"),new JMenuItem("打开"),new JMenuItem("保存"),new JMenuItem("退出")},{new JMenuItem("复制"),new JMenuItem("剪切"),new JMenuItem("粘贴"),new JMenuItem("颜色")},{new JMenuItem("关于")}};文件菜单事件监听:ActionListener action=new ActionListener(){public void actionPerformed(ActionEvent e){String name = e.getActionCommand();JMenuItem MI=(JMenuItem)e.getSource();if("新建".equals(name)){content.setText("");file=null;}else if("打开".equals(name)){if(file !=null)openfile.setSelectedFile(file);int returnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();unfold();}}else if("保存".equals(name)){if(file!=null) openfile.setSelectedFile(file);int returnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();saving();}}else if("退出".equals(name)){mynotepad f=new mynotepad();int s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);编辑菜单的事件监听:else if("剪切".equals(name)){content.cut();}else if("复制".equals(name)){content.copy();}else if("粘贴".equals(name)){content.paste();}else if("颜色".equals(name)){color=JColorChooser.showDialog(mynotepad.this,"",color);content.setForeground(color);异常处理:void saving(){try{FileWriter Writef=new FileWriter(file);Writef.write(content.getText());Writef.close();}Catch (Exception e){e.printStackTrace();}}关于部分:void initAboutDialog(){about.setLayout(new GridLayout(3,1));about.getContentPane().setBackground(Color.white);about.getContentPane().add(new JLabel("简单记事本程序设计"));about.getContentPane().add(new JLabel("11级计算机1班"));about.getContentPane().add(new JLabel("制作者:彭磊"));about.getContentPane().add(new JLabel("2012年12月27日"));about.setModal(true);about.setSize(200,100);about.setLocation(250,150);}五、调试分析各部分调试功能如图所示:六、总结在完成记事本合格程序中,基本上实现了我在需求分析时所预期的功能。

(最新版)Java毕业课程设计报告记事本程序

(最新版)Java毕业课程设计报告记事本程序

Java课程设计报告题目:简单记事本程序的设计年级专业:i ____ 学号: _________________________ 学生姓名: ______________________ 指导老师: ______________________完成时间:2010年6月8日目录摘要 (1)前言 (2)1需求分析 (2)1.1需求分析 (2)1.2功能设计 (3)2.概要设计 (3)2.1程序设计思路 (3)2.2程序运行界面 (3)2.3模块说明图 (4)2.4 程序流程图 (5)2.5程序相关说明 (6)3.程序详细设计与分析 (6)3.1.初始化组件 (6)3.2.构建菜单栏及其下拉菜单 (6)3.3.“文件”菜单的事件监听 (7)3.4.“编辑”菜单的事件监听 (8)3.5.异常处理 (9)4•测试分析 (10)5•源程序清单 (12)6•课程设计总结 (17)参考文献 (17)简单记事本程序的设计摘要该报告中的程序是使用Java 程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。

该程序主要用到了Java swing 和事件监听等。

关键字:记事本程序;Java 语言;Jcreator.、八、一前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。

后来它的开发者们发现它还可以被用于更大范围的In ternet 上。

1995年,Java语言的名字从Oak编程了Java。

1997 年J2SE1.1 发布。

1998 年J2SE1.2 发布,标志Java2 的诞生。

十多年来, Java 编程语言及平台成功地运用在网络计算及移动等各个领域。

Java的体系结构由Java语言、Javaclass 、Java API 、Java 虚拟机组成。

它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。

JAVA记事本课程设计报告

JAVA记事本课程设计报告

华东交通大学理工学院课程设计报告目录第1章系统设计目的 (1)第2章系统实现思路 (2)第3章系统详细设计 (3)第4章系统调试运行 (7)第5章课程设计心得 (8)第6章参考文献 (9)第7章附录 (10)华东交通大学理工学院课程设计报告第1章系统设计目的1)设计一个简单的Windows记事本,可以实现以下功能: 1:文件的新建,打开,保存和另存;2:对文件的编辑,如全选,复制,剪切,粘贴;3:执行完操作后,能够顺利关闭记事本。

2)通过这次设计,可以帮助学生:1:提高对Java语言设计的掌握能力;2:理论联系实际,进一步提高学生的软件开发技术; 3:培养学生分析、解决问题的能力。

第 1 页第2章系统实现思路设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe 主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。

1:界面设计在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。

2:功能设计在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。

点击不同菜单项时,显示不同界面。

3:代码设计编写每个控件的相关代码,并进行调试。

华东交通大学理工学院课程设计报告第 3 页 第3章 系统详细设计1:界面设计创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。

主要代码:f=new Frame(s);p1=new TextArea("");f.setSize(400,600);f.setBackground(Color.white);f.setVisible(true);menubar=new MenuBar();menu1=new Menu("文件");menu2=new Menu("编辑");menu3=new Menu("帮助");item1=new MenuItem("新建");item2=new MenuItem("打开");item3=new MenuItem("保存");item4=new MenuItem("另存为");item5=new MenuItem("退出");item6=new MenuItem("全选");item7=new MenuItem("复制");item8=new MenuItem("剪切");item9=new MenuItem("粘贴");item10=new MenuItem("关于"); menu1.add(item1);menu1.add(item2);menu1.add(item4);menu1.add(item5);menu2.add(item6);menu2.add(item7);menu2.add(item8);menu2.add(item9);menu3.add(item10);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);f.setMenuBar(menubar);2:功能设计对每个菜单项进行注册监听。

Java课程设计报告(记事本)

Java课程设计报告(记事本)

Java课程设计报告专业:班级:姓名:学号:系部:目录目录 (2)正文 (3)一、设计内容和要求 (3)二、设计思路 (4)三、具体实现 ............................................................ 错误!未定义书签。

四、运行调试与分析 .............................................. 错误!未定义书签。

3五、设计体会小结 (21)正文一、设计内容和要求Java文档编辑器是一个允许修改DefaultStyledDocument对象的应用程序。

这些对象用于管理Swing文本组件(例如JTextPane和JTextArea)的内容。

JTextPane用于显示DefaultStyledDocument的内容。

通过改变与DefaultStyledDocument相关联的Style对象,能够改变DefaultStyledDocument在JTextPane中的显示方式。

此应用程序也能够将DefaultStyledDocument存储到磁盘上和读入以前存储的DefaultStyledDocument。

读、写、操纵DefaultStyledDocument的所有选项都可以通过使用菜单项来实现。

当这些菜单项被选中时,它们生成事件。

使用ActionListener, ItemListener, UndoableEditListener和MenuDragMouseListener对象来处理这些事件。

要求通过课程设计,使学生将掌握的Java语言基本知识应用于实践中,在实际练习中加深对Java语言各方面的知识和概念的理解,掌Java程序设计中编程方法、编程思想,深入理解Java语言在实际中的应用。

要求学生动手上机编程,掌握Java程序设计思想和设计方法,设计实现一个简单Java文档编辑器,该编辑器由打开文件、新建文件、保存、复制、剪切、粘贴、撤销、删除等基本文本操作功能组件组成,有能力和时间的同学还可以设计实现如查找、时间、设置字体颜色、格式等功能,右键菜单响应,快捷键等功能,进一步加强自己的编程能力和编程思想。

java简易记事本实验报告

java简易记事本实验报告

java简易记事本实验报告Java简易记事本实验报告一、实验目的•学习使用Java编程语言•熟悉图形用户界面(GUI)的设计与实现•掌握文件读写操作二、实验背景近年来,随着信息技术的快速发展,电子设备普及程度日益增加。

人们习惯使用记事本软件记录临时笔记、备忘、任务清单等信息。

因此,本次实验旨在通过Java编写一个简易的记事本应用程序,以满足人们的基本需求。

三、实验过程1.学习Java编程语言基础知识,包括变量、数据类型、循环、条件语句等。

2.了解图形用户界面(GUI)设计原理和相关组件。

3.使用Java Swing库设计记事本的用户界面,包括菜单栏、工具栏、文本框等。

4.实现文件读写功能,使得用户可以保存和打开文本文件。

5.添加其他功能,如剪切、复制、粘贴、查找、替换等。

四、实验结果通过以上实验过程,我们成功设计并实现了一个简易的记事本应用程序。

这个程序具备了基本的文本编辑功能,并支持文件的保存和打开。

五、实验总结本次实验是一个较为基础的Java编程实践,通过设计和开发一个简易的记事本应用程序,我们熟悉了Java编程语言的使用,掌握了图形用户界面的设计与实现,加深了对文件读写操作的理解。

在实验过程中,我们遵循了一定的规则和步骤,通过列点方式对实验目的、过程和结果进行了总结。

这样的总结方式清晰明了,便于读者理解和回顾。

通过本次实验,我们不仅提升了Java编程能力,还培养了问题解决和团队合作的能力。

我们相信,通过不断实践和学习,我们的能力会不断提高,创造出更加优秀的应用程序。

六、改进方向虽然我们已经成功实现了一个简易的记事本应用程序,但仍有一些改进的方向可以考虑:1.添加更多的编辑功能:除了基本的剪切、复制、粘贴功能,可以考虑添加撤销、重做、全选、自动保存等功能,以提升用户的编辑体验。

2.改善用户界面设计:可以进一步优化用户界面的布局和样式,提升用户的使用感受。

可以考虑添加主题切换功能,让用户可以根据自己的喜好选择不同的界面风格。

《JAVA语言课程设计》记事本课程设计报告

《JAVA语言课程设计》记事本课程设计报告

河南工程学院《Java语言程序设计》课程设计记事本的设计与实现学生姓名: X X X学院:计算机学院专业班级:软件工程1242专业课程:《Java语言程序设计》指导教师: X X X2014 年 6 月 13 日目录第1章系统设计目的 (1)1.1题目与要求 (1)1.2设计目的 (1)第2章系统实现思路 (2)2.1 实现思路 (2)2.2系统流程图 (3)第3章系统详细设计 (6)3.1界面设计 (6)3.2功能设计 (7)3.3功能实现 (8)第4章系统调试运行 (13)4.1界面测试 (13)4.2 功能测试 (13)第5章课程设计体会 (17)参考文献 (18)第1章系统设计目的1.1题目与要求设计一个简单的Windows记事本,可以实现以下功能: 1:文件的新建,打开,保存;2:对文件的编辑,如复制,剪切,粘贴;3:执行完操作后,能够顺利关闭记事本。

1.2设计目的1:提高对Java语言设计的掌握能力;2:理论联系实际,进一步提高学生的软件开发技术;3:培养学生分析、解决问题的能力。

第2章系统实现思路2.1 实现思路1、首先设计出整个记事本的主体框架,添加菜单栏(JMenu),添加菜单选项(JMenuItem)。

这部分应用到了JMenuBar、JMenu、JMenuItem的构造方法,实现对记事本的基本页面设计。

2、在页面中添加编辑局域,应用了JTextArea的构造方法。

3、实现各个菜单选项的功能。

在具体的功能实现中,为每一个功能设计了一个类,通过监听调用类方法实现所需要实现的功能。

4、程序中的类以及它们之间的关系:本程序总共含有8个类:Notepad()主类:他实现了记事本的基本框架构造,以及对记事本各个功能的监听,并且调用各个功能的类方法。

在Notepad()中,加入了编辑菜单的弹出菜单功能。

在Notepad()主类中,通过事件监听调用了剪切、复制、保存等功能的类方法:newActionListener():实现“新建”功能的类saveActionListener():实现“保存”功能的类openActionListener():实现“打开”功能的类exitActionListener():实现“退出”功能的类cutActionListener():实现“剪切”功能的类copyActionListener():实现“复制”功能的类pasteActionListener():实现“粘贴”功能的类aboutActionListener():实现“关于”功能的类2.2系统流程图记事本总体框架实现思路:框架内包含文件、编辑、关于三个菜单选项,文件菜单内又包括新建、打开、保存、退出功能,编辑内包括剪切、复制、粘贴功能,关于菜单内包括关于功能。

JAVA简单记事本程序设计实验报告(带源码)

JAVA简单记事本程序设计实验报告(带源码)

JAVA程序设计实验报告院系:信息工程系专业:计算机应用技术班级:11计算机01班姓名:Civen任课教师:XXX实验题目:JA V A简单记事本程序设计目录目录 (1)一、引言 (2)1.1 课程设计目的 (2)1.2 题目说明 (2)1.3 开发工具介绍 (2)二、总体设计 ..............................................错误!未定义书签。

2.1系统开发平台...................................错误!未定义书签。

2.2 系统流程图 (4)2.3功能结构图.......................................错误!未定义书签。

2.4数据库设计.......................................错误!未定义书签。

三、详细说明 (4)3.1 系统实施..........................................错误!未定义书签。

四、系统的调试和运行 (9)五、课程设计总结 (9)六、参考文献 (9)附录(源程序代码) (10)一、引言1.1 课程设计目的1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;3) 培养学生在项目开发中团队合作精神,创新意识及能力。

1.掌握窗口、菜单等高级组件的应用。

2.掌握Java Swing的使用方法。

3.了解GUI应用程序的创建过程与方法。

1.2 题目说明课题:学生成绩管理4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项文件新建、打开、保存、退出编辑剪切、拷贝、粘贴、查找帮助关于5.实现文件和编辑菜单里的功能1.3 开发工具介绍Eclipse是一种可扩展的开放源代码IDE。

JAVA课程设计报告记事本

JAVA课程设计报告记事本

第1章引言 (1)1.1 背景 (1)1.2课程设计容 (1)第2章记事本系统 (2)2.1记事本概述 (2)2.2记事本的任务及目的 (3)2.3本章小结 (3)第3章记事本的设计 (3)3.1 系统需求分析 (4)3.2系统开发及运行环境......................... 错误!未定义书签。

3.3记事本总体结构(流程图) (4)3.4记事本系统各模块介绍 (5)3.5本章小结 (5)第4章系统的具体实现 (6)4.1窗口设计 (6)4.2程序功能设计及调试运行 (7)4.2.1在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。

点击不同菜单项时,显示不同接口。

(8)4.2.2加入工具栏的功能键,通过工具栏实现对文本的基本操作。

(11)4.3本章小结 (20)第5章改进部分 (20)5.1加登陆界面 (20)5.1.1登陆界面设计 (20)5.1.2系统主界面 (26)第6章结束语 (27)附录源代码 (29)第1章引言1.1背景在文本编辑器出现前,人们用打孔机把计算机文字打到穿孔卡片上。

文字存放于一个装着这样的薄卡片的盒子里,可以用读卡器来阅读它。

第一个文本编辑器是一种行编辑器,它运行在打字机型的终端上,这种编辑器并不具备在窗口和屏幕中显示的功能。

它包含了一些非常短的命令(为了减少打字量)。

其中一个命令能够把文件的指定部分通过打字机打印出来。

编辑光标是想象中的一个插入点,通过特殊命令,可以把它移动到特定容字符串所在的行。

随后,容字符串又被扩展成正则表达式。

如果想看到文件的变化,你需要把它打印出来。

相对于穿孔机来说,人们认为这种基于行的文本编辑器具有革命性的进步。

如果没有它,用户就需要把那些处理文本的命令打成专用的卡片,并在编辑文件时使用这些卡片。

当带有显示屏的计算机终端出现后,基于显示屏的文本编辑器开始流行起来。

最早的全屏编辑器中,有一种叫做026它是于1967年为CDC 6000系列机器的操作控制台而作的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public void actionPerformed(ActionEvent e){
s=fw.text1.getText();
str=replaceText.getText();
end=fw.text1.getSelectionEnd();
start=fw.text1.getSelectionStart();
XX学校计算机系综合性实验
实 验 报 告
课程名称Java程序设计
实验学期至学年 第学期
学生所在系部计算机系
年级专业班级
学生姓名学号
任课教师
实验成绩
计算机系制
《Java程序设计》课程综合性实验报告
开课实验室:年月日
实验题目
简易写字板软件设计
一、实验目的
通过编写Java的应用系统综合实例——简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。
4.其他功能设计。
四、实验结果及分析
(一)、图形界面如下图
(二)、设计思路及实现功能
创建了一个标题为“简易写字板”的窗体,其中包括菜单栏(菜单及菜单项)、工具栏,并能通过点击鼠标右键进行一些基本操作。
实现的功能:对文件的新建、打开、保存、另存、退出;对文本的剪切、复制、粘贴、全选、查找、查找并替换;对文本字体、颜色的设置;点击鼠标右键,实现对文本的剪切、复制、粘贴、全选;当选择新建、关闭、退出、保存时有一定的保存文件的提示。
else if(e.getSource()==itemcolor){
Color newColor=JColorChooser.showDialog(this,"调色板",text1.getForeground());//显示有模式的颜色选取器
if(newColor!=null)
text1.setForeground(newColor); }
}
}
});
⑤添加窗口事件,当点击关闭时,出现一定的保存提示
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
int n1=JOptionPane.showConfirmDialog(null, "是否在关闭前保存当前文
当点击保存时,弹出文件路径选择窗口,还需将文件写入,应用到文件字符输出流FileWriter、输出缓冲流BufferedWriter,其过程代码为:
File file=tSelectedFile();
try{
FileWriter writefile=newFileWriter(file);
BufferedWriter out=newBufferedWriter(writefile);
String s=text1.getText();
out.write(s);
out.close();
}
catch(IOException ee1){}
}
};
设置颜色时,弹出颜色选择器对话框,设置字体颜色(即前景色):
②编辑菜单:包括剪切、复制、粘贴、删除、查找、查找并替换、全选菜单项,同样用类JmenuItem创建
③格式菜单:包括字体、颜色、自动换行,其中为自动换行菜单项添加了复选框,应用类JcheckBoxMenuItem创建
④帮助菜单:包括帮助主题、关于写字板两个菜单项
(2)、工具栏:包括运用类JButton创建的按钮new1 ,open1, save1,cut1,paste1,copy1,分别为新建、打开、保存、剪切、复制、粘贴。
this.size=this.l3.getSelectedIndex();
this.dispose();
}else if(e.getSource()==cancel){//选择取消
this.flag=false;
this.dispose();}
}
public String font(){//返回
return this.font1;}
效果如图:
(2)、Fontset类
采用行式盒式布局方式将字体、字形、字号从左至右依次放置,创建提示标签、下拉列表与按钮,运用类Jlabel、List、Jbutton;构造方法Fontset()中,先对字体窗口进行初始化设置,包括窗口大小、位置、是否可见、缺省关闭方式;下拉列表中,字体是通过引入系统存在字体,调用getAvailableFontFamilyNames();字型与字体大小需要手动添加,因而创建串类型的数组size[]、font[],并设置默认选择位置,用列表调用select()方法;为所要实现相应功能的组件添加监听器,并重写其方法:
(1)、FirstWindow类
①先对所要建立的各个组件进行声明,如JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;JTextArea text1;JCheckBoxMenuItem box;在构造方法FirstWindow中对所要建立的窗体进行初始化,代码如下:
if(this.flag){
p=pile(this.patternText.getText());//区分大小写的匹配}
else{
p=pile(this.patternText.getText(),Pattern.CASE_INSENSITIVE);}
m=p.matcher(s);
(三)、结构分析
(1)、菜单栏:利用类JMenuBar创建一个菜单条的实例menubar,并利用类Jmenu创建了四个菜单的实例menu1、menu2、menu3、menu4分别为文件、编辑、格式、帮助,如下图所示
①文件菜单:其中包括利用类JmenuItem创建了五个菜单项新建、打开、保存、另存为、退出
if((e.getSource())==check){//点击查找
if(m.find(0)){
fw.text1.select(m.start(), m.end());}
else{
件?","确认对话框",JOptionPane.YES_NO_OPTION);}}
出现的效果如图:
⑥为各个组件添加监听器,即注册监听器过程,以实现其相应功能,代码如下:
itemcut.addActionListener(this);//设置菜单项的监听器
open1.addActionListener(this);//设置工具栏项的监听器
②创建了各个组件,包括菜单条menubar、菜单、菜单项、按钮、文本区text1、工具条jtb、文件选择fileChooser、菜单项复选框box,应用到的类有JMenuBar、Jmenu、JmenuItem、Jbutton、JtextArea、JtoolBar、JfileChooser、JcheckBoxMenuItem;并为一些菜单项添加快捷方式以及图标,使用到以下代码(并非全部代码,仅用其中部分为例,下同):
public int type(){//返回所选择的字型
return this.type;}
public int size1(){
return this.size;}
效果如图:
(3)、check类(查找)
应用模式匹配与正则表达式相关知识,此窗口布局方式采用从上至下的盒式布局;首先建立模式对象与匹配对象Pattern p;Matcher m以及所用的标签、按钮、复选框;再对该窗口进行初始化设置,包括窗口大小、位置、是否可见、缺省关闭方式;为要进行相应操作的组件添加监听器,并实现监听器:当点击查找时,文本区调用select方法,从文本开始位置进行查找,直到到达最后的位置,当当前位置已经到达最后再点击查找下一个时给出相应的提示信息,代码如下:
itemcut1.addActionListener(this);//设置弹出菜单项的监听器
⑦实现监听器,即对其方法进行重写过程,代码部分为:
public void actionPerformed (ActionEvent e){};其中对于查找、查找替换、字体功能的实现分别调用类change、check、Fontext中的方法;当点击退出时会弹出确认窗口,提示是否要保存当前文件;点击打开时,会弹出文件选择的窗口,效果如图:
建议程序使用Eclipse集成开发环境完成,熟悉在集成开发环境下编写Java程序。
二、设备与环境
硬件:多媒体计算机
软件:Windows 2000以上的操作系统、JDK开发包、集成开发环境
三、实验内容
总体要求:程序界面友好,代码的可维护性好,包括必要的注释和相应的文档。
具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:
itemnew=new JMenuItem("新建(N)",new ImageIcon("new.gif"));
itemnew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
③调用add方法将组件添加到窗体、菜单项添加到菜单、菜单添加到菜单条、按钮添加到工具栏中,代码如下:
(3)、弹出菜单(鼠标右击):应用类JpopupMenu创建一个弹出菜单的实例pm,并将菜单项itemcopy1,itemcut1,itempaste1,itemqx1依次添加到弹出菜单。
(四)、代码分析
总体结构概述:程序包括一个公共类sy,与四个类,分别为窗口建立的类FirstWindow,查找并替换的类change,查找的类check,字体设置的类Fontext;其中所引用到了Java提供的软件包java.awt.*;java.awt.event.*;java.io.*; java.util.regex.*; javax.swing.*;实现各个组件的功能在窗口建立的类中为各个组件添加监听器,并实现监听器,类change、check、Fontext分别为实现查找并替换、查找、字体监听器而建立的类,在类FirstWindow中调用上述三种类中的方法以实现监听器,将其放在类FirstWindow的外部,增强代码的可读性,具体实现过程如下:
相关文档
最新文档