文档库 最新最全的文档下载
当前位置:文档库 › java记事本程序论文

java记事本程序论文

java记事本程序论文
java记事本程序论文

摘要

该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,其界面主要采用了Javax swing包,该程序编程由MyEclipse软件完成Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。所以只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

关键字:java 程序Swing MyEclipse 记事本

I

目录

第1章概要设计 (1)

1.1需求分析 (1)

1.2功能设计 (1)

1.3明确任务 (2)

1.4本章小节 (2)

第2章程序概要设计 (3)

2.1程序设计思路 (3)

2.2程序运行界面 (3)

2.3模块程序流程图 (5)

2.4程序部分源代码及注释 (7)

2.5本章小节 (12)

第3章设计中遇到的重点及难点 (14)

3.1设计中遇到的重点 (14)

3.2设计中的遇到的难点 (14)

3.3本章小节 (15)

第4章本次设计中存在不足与改良方案 (16)

4.1本次设计中存在的不足 (16)

4.2本次设计的改良方案 (16)

4.3本章小节 (17)

结论 (18)

参考文献 (19)

致谢 (20)

指导教师评语 (21)

答辩委员会评语 (22)

II

第1章概要设计

1.1需求分析

现在网络上各种文档编辑器数不胜数,有EmEditor,UEStudio,GridinSoftNotepad,Notepad++,win32pad,SkimEdit,UniR ed,xint。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

计算机正以其前所未有的惊人速度向前发展,新的研究成果、新的实用软件不断涌现。计算机应用也普及到各行各业、深入到人类各种社会活动和生产中。为了便于对大量信息的处理,运用计算机软件实现自动管理成为了必然的趋势。“记事本”是一个用来创建简单的文档的基本的文本编辑器。“记事本”最常用来查看或编辑文本(.txt) 文件,也可以作为创建Web 页的简单工具。所以我们需要开发一个记事本系统来实现大量信息的管理。开发工具是完成整个设计的重要基础,没有工具我们就无法进行开发和设计工作,所以开发工具的选择也就成为了我们开发过程中很关键的一步。

1.2功能设计

本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:

⑴菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。

⑵“文件”有“新建”,“打于”,“保存”,“另存为”,“页面设置”“退出”,五个子菜单。

⑶“编辑”中有“撤销”,“剪切”,“复制”,“粘贴”,“删除”,“查找”,“查找替换”,“转到”,“全选”,“时间日期”,用于对文档的编辑。

1

⑷“格式”有“自动换行”,“字体”。

⑸“查看”有“状态栏”。

⑹“帮助”有“帮助主题”,“关于主题”。

1.3 明确任务

用java编写一个简单的记事本,使其能够实现最基本的功能,如文件的打开、新建、保存、退出,编辑的删除、全选、剪切、复制、粘贴,格式的字体等等。

1.4 本章小结

通过第一章我们可以了解到这次java课程设计的一个总的概况。本次程序设计的理念就是简单方便使用,这次设计的优点是:条理清晰,容易理解,容易修改。

2

第2章程序概要设计

2.1 程序设计思路

在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JMenuBar,JMenu,JMenuItem,JTextArea等。JMenu 用来制作菜单。JTextArea主要用来制作文本。动作执行主要思路就是利用ActionListener 接口为每一个JMenuItem设置ActionCommand名称然后再actionPerformed方法中判断执行动作。

2.2 程序运行界面

(1)程序运行主要界面如下:

(2)打开:

3

(2)保存:

4

2.3模块程序流程图

创建一个note的类继承JFrame类

2.3.1模块说明图

5

构造note类初始化容器、初始化组件、设置事件监听。

2.3.2程序流程图

6

2.4程序部分源代码及注释

import java.awt.*; //包含用于创建用户界面和绘制图形图像的所有类

import java.awt.event.*; //提供处理由AWT 组件所激发的各类事件的接口和类。

import java.text.*; //提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。

import java.util.*; //包含集合框架、遗留的collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。

import java.io.*; //通过数据流、序列化和文

7

件系统提供系统输入和输出。

import javax.swing.*; //提供一组“轻量级”(全部是Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。

import javax.swing.event.*; //供Swing 组件触发的事件使用。

JMenu //定义菜单

JMenuItem //菜单中项的实现

JMenuBar //菜单栏的实现。将JMenu 对象添加到菜单栏以构造菜单。

JCheckBoxMenuItem //可以被选定或取消选定的菜单项。如果被选定,菜单项的旁边通常会出现一个复选标记。如果未被选定或被取消选定,菜单项的旁边就没有复选标记

JtextArea //JTextArea 是一个显示纯文本的多行区域。

JLabel //用于短文本字符串或图像或JScrollPane scroll = new JScrollPane(ta);//添加文本区滚动区

scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLB AR_ALWAYS);//滚动条

scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_A LWAYS); container.add(scroll, BorderLayout.CENTER);//设置滚动条布局

m21=new JMenuItem("撤销(U)",'U');//设置子菜单初始化

m21.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent. CTRL_MASK));//设置子菜单快捷方式可用

m2.add(m21);//向菜单中添加

m21.setEnabled(false);//设置子菜单当前不可用

m21.setActionCommand("撤销");//设置子菜单按钮名称

m21.addActionListener(this);//监听子菜单事件

public void actionPerformed(ActionEvent e) // 实现ActionListener的事件处理方法

由于程序中多处会用到保存所以就建立了个一个保存方法方便调用public void saveFile() {

8

save.setVisible(true);

try{ ···············································································································File f1=new File(save.getDirectory(),save.getFile()); ··································FileWriter fw=new FileWriter(f1);

BufferedWriter bw=new BufferedWriter(fw);

String gt=ta.getText();

bw.write(gt,0,gt.length());

bw.flush();

fw.close();

t1=ta.getText();

this.opath=f1.getPath();

}

catch ( Exception e2)

{} }

本程序中重点的方法

//查找替换--------------------------------

public void mySearch() {

final JDialog findDialog = new JDialog(this, "查找与替换", true); Container con = findDialog.getContentPane();

con.setLayout(new FlowLayout(FlowLayout.LEFT));

JLabel searchContentLabel = new JLabel("查找内容(N) :");

JLabel replaceContentLabel = new JLabel("替换为(P):");

final JTextField findText = new JTextField(22);

final JTextField replaceText = new JTextField(22);

final JCheckBox matchcase = new JCheckBox("区分大小写"); ····················JButton searchNext = new JButton("查找下一个(F)");

JButton replace = new JButton("替换(R)");

final JButton replaceAll = new JButton("全部替换(A)");

searchNext.setPreferredSize(new Dimension(110, 22));

replace.setPreferredSize(new Dimension(110, 22));

replaceAll.setPreferredSize(new Dimension(110, 22));

9

// "替换"按钮的事件处理

replace.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (replaceText.getText().length() == 0 && ta.getSelectedText() != null) ta.replaceSelection("");

if (replaceText.getText().length() > 0 && ta.getSelectedText() != null)

ta.replaceSelection(replaceText.getText());

}});

// "替换全部"按钮的事件处理

replaceAll.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

ta.setCaretPosition(0); // 将光标放到编辑区开头

int a = 0, b = 0, replaceCount = 0;

if (findText.getText().length() == 0) {

JOptionPane.showMessageDialog(findDialog, "请填写查找内容!", "提示", JOptionPane.WARNING_MESSAGE);

findText.requestFocus(true);

return;

}

while (a > -1) {

int FindStartPos = ta.getCaretPosition();

String str1, str2, str3, str4, strA, strB;

str1 = ta.getText();

str2 = str1.toLowerCase();

str3 = findText.getText();

str4 = str3.toLowerCase();

if (matchcase.isSelected()) {

strA = str1;

strB = str3;

} else {

strA = str2;

10

strB = str4;

}

if (ta.getSelectedText() == null) {

a = strA.indexOf(strB, FindStartPos);

} else {

a = strA.indexOf(strB, FindStartPos - findText.getText().length() + 1);

}

if (a > -1) {

ta.setCaretPosition(a);

b = findText.getText().length();

ta.select(a, a + b);

} else {

if (replaceCount == 0) {

JOptionPane.showMessageDialog(findDialog, "找不到您查找的内容!", "记事本", https://www.wendangku.net/doc/b79701874.html,RMATION_MESSAGE);

} else {

JOptionPane.showMessageDialog(findDialog, "成功替换" + replaceCount + "个匹配内容!", "替换成功", https://www.wendangku.net/doc/b79701874.html,RMATION_MESSAGE); }

}

if (replaceText.getText().length() == 0 && ta.getSelectedText() != null) { ta.replaceSelection("");

replaceCount++;

}

if (replaceText.getText().length() > 0 && ta.getSelectedText() != null) { ta.replaceSelection(replaceText.getText());

replaceCount++;}}// end while}

}); /* "替换全部"按钮的事件处理结束*/

// "查找下一个"按钮事件处理

searchNext.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

11

int a = 0, b = 0;

int FindStartPos = ta.getCaretPosition();

String str1, str2, str3, str4, strA, strB;

str1 = ta.getText();

str2 = str1.toLowerCase();

str3 = findText.getText();

str4 = str3.toLowerCase();

// "区分大小写"的CheckBox被选中

if (matchcase.isSelected()) {

strA = str1;

strB = str3;

} else {

strA = str2;

strB = str4;}

if (ta.getSelectedText() == null) {

a = strA.indexOf(strB, FindStartPos);

} else {

a = strA.indexOf(strB, FindStartPos - findText.getText().length() + 1);

}if (a > -1) {

ta.setCaretPosition(a);

b = findText.getText().length();

ta.select(a, a + b);

} else {

JOptionPane.showMessageDialog(null, "找不到您查找的内容!", "记事本", https://www.wendangku.net/doc/b79701874.html,RMATION_MESSAGE);

}

}

});/* "查找下一个"按钮事件处理结束*/ ·······················································································································

2.4本章小结

12

本章主要介绍了用java创建记事本的主要代码以及运行后的效果图。运行java记事本以后出现的那个框架图就是我们所说的java图形用户界面(GUI),它是程序与用户进行交流的图像窗口,为应用程序提供一个图形化的界面,程序通过GUI与用户交互,GUI通过事件机制响应用户和程序的交互。如当用户单击某个按钮时就会产生动作事件,要处理产生的事件,需要在特定的方法中编写处理事件的程序。这样,当产生某种事件时就会调用处理这种事件的方法,从而实现用户与程序的交互。另外GUI能使一个应用程序具有与众不同的“外观”与“感觉”。有了GUI,用户就不用花很多时间去记忆各个键盘序列的功能,从而把更多的时间投入到有效地使用应用程序本身上。

13

第3章设计中遇到的重点及难点

3.1设计中遇到的重点

在这次设计中,遇到的重点有以下两点:

(1)Java记事本的替换与查找是本次设计的重点,在

(2)java记事本中还用到了继承

继承是面向对象方法中一个十分重要的的概念,并且是提高软件开发效率的重要原因之一。继承实际上是存在于面向对象程序中的两个类之间的一种关系。

继承的实现主要有以下几个步骤。

(1)确定父类。根据将创建的子类需要选择一个相应的类作为继承父类。新定义的子类可以从父类那里自动继承所有非私有的属性和方法作为自己的成员。选择一个恰当的父类可以达到事半功倍的效果。

(2)定义子类。Java中的继承是通过extends关键字来实现的,在定义类时使用extends关键字指明新定义类的父类,就在两个类之间建立了继承关系。

(3)实现子类的功能。子类具体要实现的功能由类体中相应的域和方法来实现,其编写和一般的类是完全相同的。

通过继承,子类拥有父类的所有非私有成员。使用继承具有以下的好处:降低了代码编写中的冗余度,更好地实现了代码复用的功能,从而提高了程序编写的效率;由于降低了代码的冗余度,使得程序在维护时就变得非常的方便。

3.2设计中遇到的难点

在编写java记事本文件中的新建、关闭时,要经常判断文本中的内容是否已经保存,所以经常要做判断语句这样就能使这个记事本能更加完善友好。还有计算机语言的程序都难免有漏洞,捕获异常也是经常出现的错误最理想的是在编译期间,最好在试图运行程序以前。Java支持的异常处理功能比其他语言提供的更灵活。当java程序执行中发生错误时,错误事件对象可能导致的程序运行错误称为异常,异常会输出错误消息,使其知

14

道该如何正确地处理遇到的问题。

当java运行系统在得到一个异常对象时,它将会寻找处理这一异常的代码,找到能够处理这种类型异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。如果java运行时系统找不到可以捕获异常的方法,则运行时系统将会终止,相应的java 程序也将退出。这次在java记事本程序用到的就是try,catch来捕获的异常。

3.3本章小结

通过这一章我们了解到了继承和异常的处理。在面向对象的程序设计中,通过采用继承的机制来组织、设计系统中的类,可以提高程序的抽象程序,使之更接近于人类的思维方式,同时也可以提高程序开发效率,降低维护的工作量。我们还知道了一些异常处理的情况,异常是在运行时发生的错误,使用java异常处理子系统,就可以用一种结构化的可控方式来处理运行时的错误。在使用try, catch来捕获异常时。这两个关键字要一起使用,只有try而没有catch,或者是只有catch而没有try都是不可以的。当try描述的代码段遇到异常发生时,计算机控制权由try转移到catch异常处理代码块。当抛出一个异常时,异常会由相应的catch语句来捕获并处理。

15

第4章本次设计存在不足与改良方案

4.1 本次设计中存在的不足

在本次设计中主要有以下几个方面是不完善的。

(1)页面设置的不足

页面设置只有这个窗体,不能实现与文本连接

:

图4-1页面设置

(2)撤销和鼠标右键没有完成

由于水平有限,撤销和鼠标右键功能尚未添加

4.2本次设计的改良方案

①整体结构合理,模块化结构,界面清晰,接口灵活,操作简便。

②开发方法,文档规范化,便于管理,可扩充。

③添加上撤销和鼠标右键功能,使程序更加完善。

16

4.3本章小结

通过对本程序的改良,这个程序将会更加完善,问题都是我们自己发现的,只要我们多做,就会发现问题,只有发现问题还会去想怎样去解决问题。这样系统就会不断的改善,不断的提高。

17

结论

在大家看来,编写个记事本,在JAVA软件开发中应该算是挺基础和简单的吧,可是这项看似简单的小软件却着实耗费了我不少的精力,连续好几个星期的努力。由于基础不太好,对于面向对象语言的了解和掌握也很生疏,所以首先便是从课本入手,先试着编写课本上一些小的程序,以培养对JAVA语言应用的感觉,然后确定选题后才有针对性的去看一些用户界面程序设计的一些书和资料,本软件开发主要用的是菜单实现,对鼠标事件运用较少。

在程序编写的过程中,文件操作的一些功能和编辑操作里的剪切复制粘贴先实现了,查找以及替换的功能是隔了一周之后才加上去的,但是由于水平有限,查了不少资料也看了网上别人写的记事本程序。当然,在做这次论文的过程中,我也发现了JAVA语言的简单和多用的优点,慢慢产生了兴趣,因为临近期末忙于复习,没能深入和广泛学习,准备假期好好学习这门语言,然后逐步完善这款软件并试着运用JAVA编写复杂程序。这次论文和代码编写虽然是我个人完成,但其实我期间请教过好几个基础不错的同学以及高年级学长,在这里,表示感谢。

虽然这次JAVA程序设计还有很多地方需要改进,但是我的确用心去做了,从中我收获的不止是JAVA的知识,还有严谨,认真,独立和自信,相信在以后的努力中,我会把这门语言学得很好!

18

用java写的简易记事本

import java.awt.*; import javax.swing.*; import java.awt.event.*; import https://www.wendangku.net/doc/b79701874.html,ng.String; import java.io.*; public class JA V AEdit extends JFrame { JTextArea jta; private JFrame frame; JPopupMenu pop = new JPopupMenu();//定义快捷菜单用 private JComboBox combox, combox1;//组合框,获取系统字体使用 private JToolBar toolbar;//定义工具栏 private JComboBox sizes, sizes1; // 字号组合框 private JDialog dialog; //定义查找时所用窗体 private JTextField textField;//输入时的文本框 private FileDialog filedialog; private JOptionPane optionpane;//关于时输出对话框 boolean flag=false; Font font = new Font("楷书", Font.BOLD, 16); // 储存字体 String filename= "",name; //文件名 // ***************************************构造函数 public JA V AEdit() { frame = new JFrame("JA V A代码编译器- [无标题] "); jta = new JTextArea("", 100, 30); // 构建一个开始为空,默认100行,30列 JScrollPane jsp = new JScrollPane(jta); JMenuBar jmb = new JMenuBar(); JMenu mFile = new JMenu("文件"); JMenu mEdit = new JMenu("编辑"); JMenu mForm = new JMenu("格式"); JMenu mFind = new JMenu("查找"); JMenu mHelp=new JMenu("帮助"); // ******************************************************************************* *工具栏 GraphicsEnvironment g = GraphicsEnvironment .getLocalGraphicsEnvironment(); String[] fontname = g.getAvailableFontFamilyNames(); // 获取系统字体 combox = new JComboBox(fontname); // 组合框获取系统字体 toolbar = new JToolBar(); toolbar.setFloatable(true); // 设置窗口的浮动 String size[] = { "20", "30", "40", "50", "60", "70" };

用Java实现日历记事本

用Java实现日历记事本

信息与计算科学专业课程设计 用Java实现日历记事本

3. 实验内容 编程实现日历记事本。具体要求如下: (1)该日历可以通过在文本框中输入年份和月份设置日期,也可按年前后翻动,用鼠标左键单击“上年”和“下年”按钮,将当前日历的年份减一和加一。还可以在某年内按月前后翻动,用鼠标左键单击“上月”和“下月”按钮,将日历的月份减一和加一。 (2)左键单击日历上的日期,可以通过右侧的记事本(文本区)编辑有关日志,并将日志保存到一个文件,该文件的名字是由当前日期组成的字符序列。用户可以读取、删除某个日期的日志,也可以继续向某个日志添加新的内容。在保存、删除和读取日志时都会先弹出一个确认对话框,以确认保存、删除和读取操作。 (3)当某个日期有日志时,该日期以粗体16号字显示,表明这个日期有日志;当用户删除某个日期的日志后,该日期恢复原来的外观。

实现效果图(参考)如下: 提示:(1)组件调用public void setFont(Font f)方法可以设置组件上的字体,Font类的构造方法为:public Font(String name,int style,int size),其中name 是字体的名字,style决定字体的样式(如Font.BOLD 表示粗体)size决定字体的大小。(具体请参考JDK API) (2)当左键单击日历上的日期时,如要获取该日期,可通过处理该组件上的鼠标事件来实现。

4.实验步骤、实施过程、关键代码、实验结果及分析说明等 1.CalendarPad类 (1) 进行整体布局,建立日历记事本文件,设置日历卡,把日期按星期顺序排列,并用窗口监视器实现。 (2)用窗口监视器实现,结果如下: 2.Notepad类 (1)对日期的设置和获取,设置信息条,对文本框进行设置,保存日志、删除日志和读取日志按钮的事件实现。 (2)保存日志按钮事件实现如下:

如何用记事本编写一个简单的java代码

如何用记事本编写一个简单的j a v a代码 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

一:怎么用记事本写第一个java代码 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为,如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

然后我们同时按Ctrl+s键保存,然后关闭记事本即可 上面的源代码如下: public class Test{//这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java中的主函数的写法 "HelloWorld");//java中的输出语句写法 } } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac 然后回车,最后输入java Test,就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 二:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为,如果你是把你的文档文档建立在D盘,则应该输入D: 以此类推。 2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为,则输入的情况如下, cd CH表示转到CH这个文件夹下,然后再输入回车,再输入java Test 就可以看到运行结果了

java课程设计简单记事本开发内附完整代码流程图等

浙江科技学院 经济管理学院 JAVA语言课程设计报告 选题名称简单记事本开发 学生学号 专业班级 学生姓名 学生成绩 指导教师朱军 工作时间2012/06/27——2012/06/29

目录 第一章选题简介 主要利用面向对象的程序设计语言Java来实现简单记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找,替换等功能,区别于一般的记事本,本程序利用了Java swing和事件监听等能够对文字的颜色进行设置。 第二章需求分析 1.系统要实现的目标分析 菜单中有文件,编辑,格式,视图风格,帮助五个主菜单。 (1)“文件”有新建、打开、保存、另存为、退出五个子菜单:分别用于新建文件,打开文件,保存文件,更改存储地址,退出记事本。 (2)“编辑”中有复制、剪切、粘贴、删除、查找、查找下一个、替换、替换下一个、全选、日期/时间十个字菜单:用于复制文字,剪切文字,粘贴文字,删除文字,查找文字,查找下一个文字,替换文字,替换下一个文字,选择文字,添加日期和者时间。 (3)“格式”中有字体样式、字体大小、字体颜色,自动换行。字体样式中又包含了正常、粗体、斜体3中字体样式,可以对文字的字体样式做修改。字体大小中又包含了最大、较大、适中、较小、最小这5个大小范围。字体颜色可以对字体进行颜色上的修改,是字体更加漂亮。自动换行能够实现文档在编辑是需要的自动换行功能。 (4)“视图风格”中有MOTIF风格,默认风格,状态栏。当用户选择MOTIF 风格,软件界面会切换成MOTIF风格界面。当用户选择默认风格,软件界面会切换成默认风格界面。点击状态栏时可以对状态栏进行显示和隐藏。 (5)“帮助”中有帮助主题和关于,可以解决用户在使用记事本中的一些问题。 (6)“快捷键”,在菜单栏下面增加了一排快捷键,可以对稳定进行快速的修改、操作等命令。快捷键主要有新建、打开、保存、复制、剪切、黏贴、删除、查找、字体颜色、帮助主题、退出。 2.对输入输出数据及流程的分析 本次设计中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。整个记事本分为2块:菜单栏和内容输入区。本程序中首先定义一个myfr类继承JFrame作为最底层容器。Textcontent为程序文本输入区。Menu为菜单栏。AboutDialog为关于对话框。要想记事本完成需求分析中相

Java课程设计报告记事本源代码有流程图

Java课程设计报告 题目:简单记事本程序的设计年级专业:计算机科学与技术 学号: 学生姓名: 指导老师: 完成时间: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.源程序清单.............................................................................................. 错误!未定义书签。6.课程设计总结.. (17) 参考文献 (17)

简单记事本程序的设计 前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。 1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。 2.3模块说明图 在图1中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。

用Java程序编写一个记事本程序的设计报告

用Java程序编写一个记事本程序的 设计报告 学习中心(点):泾阳学习中心 专业:计算机科学与技术 层次:专升本 姓名:李永固 批次: 112

目录 一、设计分析 (1) 二、程序结构 (1) 三、各模块的功能及程序说明 (2) 1、类设计 (2) 2、主要功能代码实现 (4) 四、源程序 (9) 五、操作方法 (20) 六、试验结果 (20) 七、设计体会 (22)

用Java程序编写一个记事本程序的设计报告 一、设计要求 1.用图形用户界面实现。 2.能实现编辑、保存、另存为、查找替换等功能。 二、程序结构 流程图: 图1基本流程图

本Java文本编辑器功能设计如下: 图2基本功能图 三、各模块的功能及程序说明 1、类设计 (1)类MiniText ,包括initTextPane方法初始化面板,initMenu()方法初始化菜单,initAboutDialog()方法初始化关于对话框,initToolBar()方法初始化工具栏,initRightKey()方法初始化右键设置,等方法。类成员如下:

(2)类Loading (实现登陆)类成员如下:

(3)类runtime (实现时间同步) 类成员如下: (4)类MainFunction (包含主函数) 类成员如下: 2、主要功能代码实现 (1)登陆界面: class Loading extends JWindow implements Runnable { Thread dluThread=null; private JProgressBar progress; public Loading() { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置光标为等待状态JPanel dlu = new JPanel(new BorderLayout()); URL url = getClass().getResource("/images/loading.jpg"); if(url != null){ dlu.add(new JButton(new ImageIcon(url)), BorderLayout.CENTER); } progress = new JProgressBar(1,100); progress.setStringPainted(true); progress.setBorderPainted(true); progress.setBackground(Color.white); progress.setForeground(Color.green); dlu.add(progress,BorderLayout.SOUTH); setContentPane(dlu); //设置窗口属性为登陆面板属性 Dimension screen = getToolkit().getScreenSize(); pack(); //显示登陆界面 setLocation(screen.width/4,screen.height/4); //设置登陆界面始终在屏幕中间显示 } public void start(){ // this.toFront(); dluThread=new Thread(this); dluThread.start(); } public void run(){ show();

JAVA课程设计-编写一个记事本程序

Java语言程序设计B报告 题目:编写一个记事本程序 一.要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.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("编辑"); 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("粘贴"); menu1.add(item1); menu1.add(item2);

(完整word版)如何用记事本编写一个简单的java代码

一:怎么用记事本写第一个java代码? 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为Test.java,如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

然后我们同时按Ctrl+s键保存,然后关闭记事本即可 上面的源代码如下: public class Test{//这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java中的主函数的写法 System.out.println("HelloWorld");//java中的输出语句写法} } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac Test.java然后回车,最后输入java Test,就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 二:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为Test.java,如果你是把你的文档文档建立在D盘,则应该输 入D: 以此类推。 2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为Test.java,则输入的情况如下, cd CH表示转到CH这个文件夹下,然后再输入java.Test.java回车,再输入java Test就可以看到运行结果了 3,如果你在D盘下的CH的文件夹下新建一个为ch 的文件夹,并且在ch的文件夹下新建一个txt文

JAVA日历记事本课程设计报告

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JA V A源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMesssage.java 效果图如下 . CalendarWindow类 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord;

JButton getPicture; File dir; Color backColor=Color.white ; public CalendarWindow(){ dir=new File("./dailyRecord"); dir.mkdir(); showDay=new JTextField[42]; for(int i=0;i

JAVA课程设计 编写一个记事本程序

Java语言程序设计B报 告 班级: 学号: 姓名: 成绩: 2012年12月

题目:编写一个记事本程序一.课程设计题目概要。 1.1课程设计目的 1.2题目设计要求 二.课程设计思路。 三.课程设计实现功能结构图。 3.1“文件”菜单。 3.2“编辑”菜单。 四.记事本实现功能代码实现。 4.1界面设计代码实现及实现截图。 4.2功能代码详细设计 4.2.1新建文件 4.2.2打开文件 4.2.3复制文件 4.2.4粘贴文件 4.2.5退出记事本 五.JAVA课程设计个人总结。 附:JAVA课程设计程序源代码

一.课程设计题目概要。 1.1课程设计目的。 按照老师要求,编写一个记事本程序,并可以实现老师要求的相关功能。在课程设计过程中,复习巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握,将课本上的理论知识和实际有机的结合起来,锻炼自己的分析解决实际问题的能力,提高自己实践编程的能力。 1.2题目设计要求。 要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.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("编辑"); 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("粘贴"); menu1.add(item1); menu1.add(item2);

java简单记事本

Java简易记事本编写 课题:设计一个简单的Windows记事本,可以实现以下功能 1、文件的新建、打开、保存、另存为和退出; 2、对文件的编辑,如复制、粘贴、剪切、替换等; 3、执行完操作后,能够顺利关闭记事本。 源码: package MyPad; import java.awt.Event; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.KeyStroke; public class MyPad { static String path = ""; public static void main(String[] args) { // 设置主窗体 JFrame jf = new JFrame("MyPad"); jf.setBounds(220, 90, 800, 600);

仿windowsJAVA课程设计汇本记事本

前言 随时着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。JAVA是实践性很强的课程。课程设计是加强实践能力的一个强有力手段。要求掌握JAVA的应用、编写、上机调试的基本方法。本课程设计就是主要利用java语言编写的一个模仿windows 记事本的较简单的程序,实现了一些基本功能,要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现输入文本文件、控制保存文本信息到指定的文件的功能。 目录 一、需求分析 (1) 二、概要设计 (1) 三、详细设计 (2) 四、系统调试分析 (6) 五、课程设计心得体会 (7) 六、使用说明 (7) 七、参考文献及致谢 (7) 八、附录(程序源代码) (7)

一、需求分析 该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要求实现记事本的基本功能,参考了windows中记事本的一些功能。要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。 二、概要设计 1.1 系统主要功能 本程序是利用java程序设计语言编写的一个简单的记事本程序。可以通过菜单栏和工具栏实现以下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。 1.2运行环境要求 (1) 实现设计的系统硬件需求 硬件配置的基本要求: * 586以上的计算机 * 32MB以上的内存 * 彩色显示器 * 3.5寸高密软盘驱动器 * 光盘驱动器 * 4G以上硬盘空间 * 鼠标 (2) 实现设计的系统软件 * WINDOWS95或WINDOWS98 * Jcreator Pro全套软件 三、详细设计 设计思路:设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane创建面板窗口textPane,利用Jlabel创建状态栏statusBar,利用JFileChooser 创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar创建工具栏,再通过一些具体方法实现各功能键的功能。建立构造函数public EditorDemo();通过该构造函数实现记事本程

JAVA简单记事本程序(源代码)课程设计

辽宁工业大学 JA V A程序设计课程设计(论文)题目: JAVA简单记事本程序 院(系):软件学院 专业班级:软件工程班 学号: 学生姓名: 指导教师: 教师职称: 起止时间:

程序设计专题(报告)任务及评语

目录 第1章课程设计的目的与要求 (4) 1.1 课程设计目的 (4) 1.2 课程设计的实验环境 (4) 1.3 课程设计的预备知识 (4) 1.4 课程设计要求 (4) 第2章课程设计内容 (5) 2.1课题描述 (5) 2.2 系统设计 (5) 2.2.1功能分析 (5) 2.2.2面向对象设计 (5) 2.2.3详细设计 (7) 2.3程序实现 (10) 2.3.1源码分析 (10) 2.3.1运行结果 (14) 第3章总结 (18) 参考文献19

第1章课程设计的目的与要求 1.1 课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.3 课程设计的预备知识 熟悉JAVA语言及ECLIPSE开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

Java记事本源代码(完整)

/** * 作品:记事本 * 作者:*** * 功能:简单的文字编辑 */ import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; class NotePad extends JFrame{ private JMenuBar menuBar; private JMenu fielMenu,editMenu,formMenu,aboutMenu; private JMenuItem newMenuItem,openMenuItem,saveMenuItem,exitMenuItem; private JMenuItem cutMenuItem,copyMenuItem,pasteMenuItem,foundItem,replaceItem,s electAll; private JMenuItem font,about; private JTextArea textArea; private JFrame foundFrame,replaceFrame; private JCheckBoxMenuItem wrapline; private JTextField textField1=new JTextField(15); private JTextField textField2=new JTextField(15); private JButton startButton,replaceButton,reallButton; int start=0; String value; File file=null; JFileChooser fileChooser=new JFileChooser(); boolean wrap=false; public NotePad(){ //创建文本域 textArea=new JTextArea(); add(new JScrollPane(textArea),BorderLayout.CENTER); //创建文件菜单及文件菜单项 fielMenu=new JMenu("文件"); fielMenu.setFont(new Font("微软雅黑",0,15)); newMenuItem=new JMenuItem("新建",new

JAVA记事本的设计与实现

《面向对象程序设计》课程设计报告 题目:《日记本的设计与实现》课程设计 学院:信息工程 姓名:xxxx 学号:1134120131 专业:软件工程 班级:软工1101班 指导教师:xxxx 二0一二年十二月十四日

目录 1.引言 (2) 2.设计目的与任务 (3) 3.设计方案 (3) 3.1总体设计 (3) 3.2设计要求 (3) 3.3系统的主要功能 (4) 3.4开发环境 (4) 3.5系统的功能模块划分与系统流程图 (4) 3.5.1系统的功能模块划分 (4) 3.5.2万年历模块流程图 (5) 3.5.3日记本模块流程图 (6) 3.6各个类说明 (6) 3.6.1主类NoteBook (6) 3.6.2记事本Note类 (7) 3.6.3左侧面板LeftPane类 (7) 3.6.4月份显示MonthPane类 (8) 3.6.5年月显示Y earMonth类 (8) 3.6.6背景音乐Music类 (8) 3.6.7日期获取DateTime类 (9) 3.6.8右侧记事本显示NotePane类 (9) 3.6.9记事本弹出菜单NotePopupMenu类 (10) 4.各种功能截图 (10) 5.课程设计总结 (14) 6.个人心得体会 ............................................................................ 错误!未定义书签。 7.附录 (15)

摘要 摘要 本课程设计通过代码实现将理论知识和具体实践相结合,巩固提高了对JAVA的相关方法与概念的理解,使学生的发散思维及动手能力进一步加强,加强对计算机及软件工程的进一步了解。 在这个课程设计中,做成了一个有日历标记的记事本软件,日记本面板由日历、记事本、图片、时钟四部分组成。日历部分可以选择不同的年份、月份、日期和星期;记事本模块可以实现查看,保存,删除日志等操作;并且每一步操作都有相应提示;图片模块可以显示预设的图片;时钟模块可以用时钟来显示当前时间。本软件是一个实用性较强,简洁,美观,方便的功能软件。 关键字:记事本;日历; 1引言 Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此Java课程设计决定以“写字留痕”为设题材,借此巩固加深我们对Java的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。

简单记事本的java程序代码

简单记事本的java程序代码 涉及到两个文件: 第一个文件中的代码: package MyProject; import java.awt.BorderLayout; import javax.swing.JPanel; import javax.swing.JFrame; import java.awt.Dimension; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JLabel; import java.awt.Rectangle; import javax.swing.JTextArea; import javax.swing.JScrollPane; import java.awt.datatransfer.*; import java.io.*; public class MainFrame extends JFrame { private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JMenuBar jJMenuBar = null; private JMenu jMenu = null; private JMenu jMenu1 = null; private JMenu jMenu2 = null; private JMenuItem jMenuItem = null; private JMenuItem jMenuItem1 = null; private JMenuItem jMenuItem2 = null; private JMenuItem jMenuItem3 = null; private JLabel jLabel = null; private JScrollPane jScrollPane = null; private JTextArea jTextArea = null; private JMenuItem jMenuItem4 = null; private JMenuItem jMenuItem5 = null; private JMenuItem jMenuItem6 = null; private JMenuItem jMenuItem7 = null; private static MainFrame myMainFrame=null; private static String textstr="";///用于记录文本文件的路径 private File myFile=null; private FileReader myrder=null; private FileWriter mywr=nul

相关文档
相关文档 最新文档