2024年1月10日发(作者:)
《Java课程设计》记事本
课程设计报告书目录
一、设计课题
二、设计目的
三、操作环境
四、设计场所(机房号、机器号或自己机器)
五、设计过程(设计内容及主要程序模块)
六、本次设计中用到的课程知识点(列出主要知识点)
七、设计过程中遇到的问题及解决办法
八、程序清单
第
1
页
一、设计课题及内容
课题名称:记事本
(1)
内容:文件菜单中包括新建、打开、保存、另存为、退出等菜单项,其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为
(2) 编辑菜单主要包括复制、剪切和粘贴等菜单项,可分别实现编辑区文本内容的编辑操作
(3) 帮助菜单主要是现实软件版本等信息
(4) 记事本还实现了点右键弹出快捷菜单功能,加快文档的编辑效率
(5) 记事本文本区引入滚动窗格,实现编辑区的滚动查看
(6) 可自行扩充其功能:比如加入格式菜单设置文本的字体等、编辑菜单中加入查找、替换等菜单项
二、设计目的
熟悉,,等包中的组件。
掌握图形界面设计方法。
掌握窗体按钮和文本控件对事件的响应。
了解java自带的函数方法。
三、操作环境
操作系统:Microsoft Windows 10
CPU:Intel Core i5-8300H 2.30GHz
内存:8.00 GB
四、设计场所
教室b403
第
2
页
五、设计过程(设计内容及主要模块,不少于3000字)
1.设计要求
1) 界面设计
2) 功能实现
(1) 文件菜单:新建、打开、保存、另存为、退出等。
(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为
3) 编辑菜单:复制、剪切和粘贴等
4) 帮助菜单:软件版本信
5) 右键弹出快捷菜单
第
3
页
2.总体设计
1)功能模块图:
新
建
打开
保存
另存为
退出
复制
剪切
粘贴
字体
颜色
记事本
右键快捷
文件
编辑 格式
帮助
关于记事本
图一功能模块图
2)功能描述
1、打开记事本。首先是标准型的记事本,拥有文件、编辑。格式和帮助。如图1所示:
图1标准型记事本界面
2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。如图2
第
4
页
图2新建记事本功能
3、用打开文件打开刚刚新建的新记事本。如图三所示。
图3—打开文件
4、点击退出即可退出,如图4所示:
第
5
页
图4—退出记事本
5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。如图5所示:
图5—帮助相关信息
6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。如图6所示:
第
6
页
图6—右键功能
7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。如图7:
图7—编辑
第
7
页
3.详细设计
1)流程图如下:
新建记事本
打开程序
保存
另存为
复制
粘贴
清除
剪切
打开记事本
完成
退出
第
8
页
相应的Java类有:
Notebook类:主类,添加一些记事本需要的的一些方法,对继承类的一些组件进行实体化,为每个按钮创建“这是什么”的帮助信息,按右键的时候触发什么,输出相应的帮助信息,每件事件进行监听,引用的的软件包和部分代码如下:
import .*;
import .*;
import .*;
import .*;
import java.
swing.*;
//功能:提供一组“轻量级”(所有Java语言)组件,尽可能最大程度地在所有平台上工作。
import ;
//功能:构造一个初始时不可见的新窗体。
import ;
//功能:创建具有双缓冲和流布局的新
JPanel。
import ;
//功能:用于短文本字符串或图像或二者的显示区。
import n;
//功能:创建不带有设置文本或图标的按钮。
import ield;
//功能:是一个轻量级组件,它允许编辑单行文本。
public class Notebook
{
JButton b_save,b_close; //按钮
JTextArea textArea; //文本框
File tempFile; //文件
JPanel jp; //面板
JLabel stateBar;//标签
JLabel jl,jj;
textArea = new JTextArea();
File f = ectedFile();
FileReader fr = new FileReader(f);
(ch);
String str = new String(ch);
t(str);
tempFile = f;
File f = ectedFile(); //如果没有选取文件,下面的e(f)将会返回输入的文件名
fname = e(f);
}
import .*;
//功能:提供处理由 AWT 组件所激发的各类事件的接口和类。
import Listener;
//功能:用于接收操作事件的侦听器接口。
第
9
页
import tener;
//功能://功能:用于接收键盘事件(击键)的侦听器接口
import otionListener;
//功能:用于接收组件上的鼠标移动事件的侦听器接口。
import Listener;
//功能:用于接收窗口事件的侦听器接口。
import stener;
//功能:用于接收文本事件的侦听器接口。
import stener
//功能:接收项事件的侦听器接口。
//编辑区鼠标事件,点击右键弹出"编辑"菜单
seListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent e) {
if(ton() == 3)
(ponent(), (), ());
} //ponent()和textArea具有同等效果
public void mouseClicked(MouseEvent e){
}
if(ton() == 1)
ible(false);
//为窗口添加"关闭"事件的响应
dowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
whenExit();
{
}
});
public void actionPerformed(ActionEvent e)
{
if(rce() == f_new)
{
}
saveFileDialog();
return;
//响应菜单项"新建"的事件
//响应菜单项"打开"的事件
if(rce() == f_open){
openFileDialog();}
//响应菜单项"保存"和"按钮"保存"的事件
if((rce() == b_save)||(rce() == f_save))
{
try{
10
第 页
String str = t();
FileWriter fw = new FileWriter(tempFile);
(str);
();
//isCurrentFileExists = true;
tempFile = tempFile;}
tackTrace();
catch(Exception ex){
}}
//响应菜单"另存为"的事件
if(rce() == f_saveas){
int option = alog(this,"另存为");
String fname = null;
if(option == E_OPTION)
{
File f = ectedFile();//如果没有选取文件,下面的fname = e(f);
if(fname != null && ().length() > 0){
if(th(".txt"))
;
else{
}}
fname = (".txt");
e(f)将会返回输入的文件名
if(())
fname = e();
f = rentDirectory();
f = new
File(h().concat(tor).concat(fname));
try{
NewFile();
String str = t();
FileWriter fw = new FileWriter(f);
(str);
();
}
catch(Exception ex) {
tackTrace();
}}}
//响应"退出"菜单和"退出"按钮的事件
if((rce() == f_close)||(rce() == b_close)){
}
if(rce() == e_copy||rce() == je_copy){
11
第 页
whenExit();
}
copy();
if(rce() == e_paste||rce() == je_paste){
}
if(rce() == e_cut||rce() == je_cut){
}
if(rce() == e_clear||rce() == je_clear){
}
if(rce() == e_selectAll||rce() == je_selectAll){
}
selectAll();
clear();
cut();
paste();
import .*;
//功能:包含用于创建用户界面和绘制图形图像的所有类。
public interface ActiveEvent
//功能:知道如何对自身进行指派的事件的接口。
public class Choice
//功能:Choice 类表示一个弹出式选择菜单。
public class Color
//功能:用于封装默认 sRGB 颜色空间中的颜色,或者用于封装由
ColorSpace 标识的任意颜色空间中的颜色。
public class Menu
//功能:对象是从菜单栏部署的下拉式菜单组件。
public Notebook()
{
osableFileFilter(new FileNameExtensionFilter("文本文件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_ionListener(this); //给弹窗式的各组件添加监听器
12
第 页
(*.txt)","txt"));
);
);
);
;
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
//给界面上方的菜单条添加监听器
f_new = new JMenuItem("新建(N)");
f_elerator(Stroke('N',_MASK,false))
f_ionListener(this);
f_open = new JMenuItem("打开(O)");; //设置带修饰符快捷键
f_elerator(Stroke('O',_MASK,false)
f_save = new JMenuItem("保存(S)");
f_ionListener(this);
f_elerator(Stroke('S',_MASK,false)
f_ionListener(this);
f_saveas = new JMenuItem("另存为");
f_elerator(Stroke(_S,
f_ionListener(this);
f_close = new JMenuItem("退出(W)");
_MASK|_MASK));
f_elerator(Stroke('W',_MASK,false
f_ionListener(this);
e_copy = new JMenuItem("复制(C)");));
e_elerator(Stroke('C',_MASK,false) e_ionListener(this);
e_paste = new JMenuItem("粘贴(V)");
e_ionListener(this);
e_cut = new JMenuItem("剪切(X)");
e_elerator(Stroke('X',_MASK,false)) e_ionListener(this);
e_clear = new JMenuItem("清除(D)");
e_ionListener(this);
e_selectAll = new JMenuItem("全选(A)");
13
第 页
e_elerator(Stroke('V',_MASK,false));
e_elerator(Stroke('D',_MASK,false));
e_elerator(Stroke('A',_MASK,false));
);
e_ionListener(this);
e_replace = new JMenuItem("替换(R)"); e_ionListener(this);
e_find = new JMenuItem("查找(F)");
e_elerator(Stroke('F',_MASK,false)e_elerator(Stroke('R',_MASK,fal e_ionListener(this);
se));
s_font = new JMenuItem("字体(T)");
s_ionListener(this);
s_color = new JMenuItem("颜色(C)...");
s_elerator(Stroke('T',_MASK,false));
s_elerator(Stroke(_C,_MASK | _MASK));
s_ionListener(this);
h_editor = new JMenuItem("关于记事本");
h_elerator(Stroke(_E,_MASK));
h_ionListener(this);
h_help = new JMenuItem("帮助信息(H)");
h_elerator(Stroke(_I,_MASK));
}
//创建颜色选择对话框
if(rce() == s_color) {
Color c = alog(this,"请选择文字颜色",);
if(c != null){
}
else
eground(eground());
14
第 页
h_ionListener(this);
//添加右键弹出式菜单
(je_copy);
(je_paste);
(je_cut);
(je_clear);
arator();
(je_selectAll);
(je_find);
(je_replace);
eground(c);
JFrame类:被继承类的父类,对代码所用到的所以按键、菜单、文本进行定义。
}
public class Notebook extends JFrame implements ActionListener,ItemListener{
//组件创建
JButton b_save,b_close; //按钮
JTextArea textArea; //文本框
File tempFile; //文件
JPanel jp; //面板
JMenu file,edit,style,help; //菜单
JMenuItem
f_new,f_open,f_save,f_close,f_saveas,e_copy,e_paste,e_cut,e_clear,e_selectAll,e_find,e_replace,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(); //文件选择
JMenuItem je_copy,je_paste,je_cut,je_clear,je_selectAll,je_find,je_replace;
//弹出式菜单条
2)所用的部分图形组件的定义:
JMenuBar menuBar;//菜单条
Menu editMenu,viewMenu,helpMenu,time_sys;//菜单:编辑、查看、帮助
JMenuItem editMenu_copy,editMenu_paste;//"编辑"的菜单项
JRadioButtonMenuItem viewMenu_standarType; //"查看"的菜单项
JMenuItem helpMenu_helpTopic,helpMenu_aboutCal;//"帮助"的菜单项
JTextField displayField;//文本框
JButton btnBackspace;//按钮
JLabel lblSystemType;//用作边框的标签
JPopupMenu popupMenu;//弹出菜单及菜单项
Container dlgtipscon;//用于显示帮助提示信息的对话框(无边框)
3.定义了组件的初始化以及对界面的排版
1)对总框架的总体布局对主框架的初始化操作(仅给出标准型的 )
this.
textArea ("文本框");
//设置部分菜单项的可见性
ible(false);
ible(false);
ible(false);
ible(false);
ible(false);
f_ible(false);
f_ible(false);
f_ible(false);
f_ible(false);
15
第 页
f_ible(false);
e_ible(false);
e_ible(false);
e_ible(false);
//设置一些组件的可见性
e_ible(false);
e_ible(false);
e_ible(false);
e_ible(false);
s_ible(false);
s_ible(false);
h_ible(false);
h_ible(false);
ible(false);
ible(false);
ible(false);
ible(false);
je_ible(false);
je_ible(false);
je_ible(false);
je_ible(false);
je_ible(false);
je_ible(false);
je_ible(false);
//设置窗口大小和可见性
e(260,245);
ible(true);
}
3)记事本运算部分程序的执行过程:
在该类中,创建监听,响应相应的事件。
public void mouseReleased(MouseEvent e) {
if(ton() == 3)
(ponent(), (), ());
public void mouseClicked(MouseEvent e){
if(ton() == 1)
ible(false);
if(t().equals("已保存")||t().equals("新文档")){
}
return true;
16
第 页
else{
}
return false;
if(m == E_OPTION){
File f = ectedFile();
for(int i = 0;i <= ();i++){
char [] ch = new char[i];
try{
FileReader fr = new FileReader(f);
(ch);
String str = new String(ch);
t(str);
tempFile = f;
}
catch(IOException e){
tackTrace();
}}}
else
return;
}
if(options == E_OPTION)
{
File f = ectedFile(); //如果没有选取文件,下面的e(f)将会返回输入的文件名
fname = e(f);
if(fname != null && ().length() > 0)
{
if(th(".txt"));
17
第 页
else
{
}
fname = (".txt");
if(rce() == f_new)
{
saveFileDialog();
return;
}
if(rce() == f_open)
{
openFileDialog();
}
if(rce() == f_saveas)
{
int option = alog(this,"另存为");
String fname = null;
if(option == E_OPTION)
{
File f = ectedFile();//如果没有选取文件,下面的e(f)将会返回输入的文件名
fname = e(f);
if(fname != null && ().length() > 0)
{
if(th(".txt"))
;
else
{
fname = (".txt");
18
第 页
}
if(c != null)
{
}
else
eground(eground());
eground(c);
}
if((rce() == f_close)||(rce() == b_close)){
}
if(rce() == e_copy||rce() == je_copy){
}
if(rce() == e_paste||rce() == je_paste){
}
if(rce() == e_cut||rce() == je_cut){
}
if(rce() == e_clear||rce() == je_clear){
}
if(rce() == e_selectAll||rce() ==
clear();
cut();
paste();
copy();
whenExit();
je_selectAll){{
}
selectAll();
实现的接口:ActionListener、KeyListener和MouseMotionListener。
seListener(new MouseAdapter() {
19
第 页
{
public void mouseReleased(MouseEvent e) {
if(ton() == 3)
(ponent(), (), ());
} //ponent()和textArea具有同等效果
public void mouseClicked(MouseEvent e){
if(ton() == 1)
ible(false);
}});
je_ionListener(this); //给弹窗式的各组件添加监听器
}
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
je_ionListener(this);
20
第 页
六、设计中用到的课程知识点
Java语言程序设计:
布局管理器:BorderLayout、GridLayout
窗体类:JFrame,JButton,JMenubar,JMenuItem,JMenu,JLabel,
JCheckBox,JPopupMenu ,JTextField,
七、设计中遇到的问题及解决方法
1. 忘记一些老师上课讲的细节知识点。
翻书找回记忆。
2.右键功能不知道怎么实现,上课老师视乎没有讲过。
旁触类通,查找网上资料,右键类似与左键。
3.复制、剪切、粘贴等功能一起使用时不熟悉不顺畅。
翻书查资料,上网搜资料。
21
第 页
八、程序清单
package test;
file = new JMenu("文件");
import ; edit = new JMenu("编辑");
import .*; style = new JMenu("格式");
import .*; help = new JMenu("帮助");
import t;
import .*; je_copy = new JMenuItem("复制(C)
import .*; ");
import ooser.*; je_paste = new JMenuItem("粘贴(P)
");
public class Notebook extends JFrame je_cut = new JMenuItem("剪切(X)
implements ActionListener,ItemListener{ ");
//组件创建 je_clear = new JMenuItem("清除(D)
JButton b_save,b_close; //按钮 ");
JTextArea textArea; //文本框 je_selectAll = new JMenuItem("全 File tempFile; //文件 选(A) ");
JPanel jp; //面板 je_find = new JMenuItem("查找(F)
JMenu file,edit,style,help; //菜单 ");
JMenuItem je_replace = new JMenuItem("替换f_new,f_open,f_save,f_close,f_saveas,e_copy,(R) ");
e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep
lace,s_font,s_color,h_editor,h_help; //菜单条 je_ionListener(this); // JMenuBar jmb; 给弹窗式的各组件添加监听器
JScrollPane jsp; //滚动面板 je_ionListener(this);
JPopupMenu popUpMenu = new je_ionListener(this);
JPopupMenu(); //右键弹出式菜单 je_ionListener(this);
JLabel stateBar;//标签
JLabel jl,jj; je_ionListener(this);
JFileChooser jfc = new JFileChooser(); // je_ionListener(this);
文件选择 je_ionListener(this);
JMenuItem
je_copy,je_paste,je_cut,je_clear,je_selectAll,je //给界面上方的菜单条添加监听器
_find,je_replace; //弹出式菜单条 f_new = new JMenuItem("新建 public Notebook() (N)");
{
osableFileFilter(new f_elerator(SFileNameExtensionFilter("文本文件troke('N',_MASK,false)); //(*.txt)","txt")); 设置带修饰符快捷键
jmb = new JMenuBar(); f_ionListener(this);
textArea = new JTextArea();
jsp = new JScrollPane(textArea); f_open = new JMenuItem("打开22
第 页
(O)");
f_elerator(Stroke('O',_MASK,false));
f_ionListener(this);
f_save = new JMenuItem("保存(S)");
f_elerator(Stroke('S',_MASK,false));
f_ionListener(this);
f_saveas = new JMenuItem("另存为");
f_elerator(Stroke(_S,_MASK|_MASK));
f_ionListener(this);
f_close = new JMenuItem("退出(W)");
f_elerator(Stroke('W',_MASK,false));
f_ionListener(this);
e_copy = new JMenuItem("复制(C)");
e_elerator(Stroke('C',_MASK,false));
e_ionListener(this);
e_paste = new JMenuItem("粘贴(V)");
e_elerator(Stroke('V',_MASK,false));
e_ionListener(this);
e_cut = new JMenuItem("剪切(X)");
e_elerator(Stroke('X',_MASK,false));
e_ionListener(this);
e_clear = new JMenuItem("清除(D)");
e_elerator(Stroke('D',_MASK,false));
e_ionListener(this);
e_selectAll = new JMenuItem("全选(A)");
e_elerator(Stroke('A',_MASK,false));
e_ionListener(this);
e_find = new JMenuItem("查找(F)");
e_elerator(Stroke('F',_MASK,false));
e_ionListener(this);
e_replace = new JMenuItem("替换(R)");
e_elerator(Stroke('R',_MASK,false));
e_ionListener(this);
s_font = new JMenuItem("字体(T)");
s_elerator(Stroke('T',_MASK,false));
s_ionListener(this);
s_color = new JMenuItem("颜色(C)...");
23
第 页
s_elerator(Stroke(_C,_MASK | _MASK));
s_ionListener(this);
h_editor = new JMenuItem("关于记事本");
h_elerator(Stroke(_E,_MASK));
h_ionListener(this);
h_help = new JMenuItem("帮助信息(H)");
h_elerator(Stroke(_I,_MASK));
h_ionListener(this);
//添加右键弹出式菜单
(je_copy);
(je_paste);
(je_cut);
(je_clear);
arator();
(je_selectAll);
(je_find);
(je_replace);
//编辑区鼠标事件,点击右键弹出"编辑"菜单
seListener(new
MouseAdapter()
{
public void
mouseReleased(MouseEvent e) {
if(ton() ==
3)
(ponent(),
(), ());
} //ponent()和textArea具有同等效果
public void
mouseClicked(MouseEvent e){
if(ton() ==
1)
ible(false);
}
});
nuBar(jmb);
le("记事本程序");
(f_new); //添加文件菜单组件
(f_open);
arator(); //加分隔线
(f_save);
(f_saveas);
arator();
(f_close);
(e_copy); //添加编辑菜单组件
(e_paste);
(e_cut);
(e_clear);
arator();
(e_selectAll);
(e_find);
(e_replace);
arator();
(s_font);
(s_color);
(file); //添加格式菜单组件
(edit);
(style);
(help);
(h_editor); //添加帮助菜单组件
(h_help);
24
第 页
//pStyleWord(true);
//设置在单词过长的时候是否要把长单词移到下一行。
eWrap(true);
//设置在行过长的时候是否要自动换行。
(jsp);
//滚动条栏
nds(500,350,800,600);
ible(true);
//为窗口添加"关闭"事件的响应
dowListener(new
WindowAdapter()
{
public void
windowClosing(WindowEvent e)
{
whenExit();
}
});
}
public boolean isCurrentFileSaved()
//判断文件是否被保存
{
if(t().equals("已保存")||t().equals("新文档"))
{
return true;
}
else{
return false;
}
}
public void openFileDialog() //打开文件
{
int m = enDialog(this);
if(m ==
E_OPTION)
{
File f = ectedFile();
for(int i = 0;i <= ();i++)
{
char [] ch = new char[i];
try{
FileReader fr = new
FileReader(f);
(ch);
String str = new
String(ch);
t(str);
tempFile = f;
}
catch(IOException e)
{
tackTrace();
}
}
}
else
return;
}
public void saveFileDialog()
//保存文件对话框
{
int options =
veDialog(this);
String fname = null;
if(options ==
E_OPTION)
{
File f = ectedFile();
//如果没有选取文件,下面的e(f)将会返回输入的文件名
fname = e(f);
if(fname != null &&
().length() > 0)
{
if(th(".txt"));
else
{
fname =
25
第 页
(".txt");
}
}
if(())
fname = e();
f = rentDirectory();
f = new
File(h().concat(tor).concat(fname));
try{
NewFile();
String str = t();
FileWriter fw = new
FileWriter(f);
(str);
();
//isCurrentFileExists = true;
tempFile = f;
}
catch(Exception e)
{
tackTrace();
}
}
}
public void cut() { //剪切
();
ible(false);
}
public void copy() { //复制
();
ible(false);
}
public void paste() { //粘贴
();
ible(false);
}
public void clear(){ //清除
eRange("",ectionStart(),ectionEnd());
ible(false);
}
public void selectAll(){ //全选
All();
ible(false);
}
public void whenExit() //当退出程序时判断文档状态
{
dispose();
(0);
}
//响应菜单项"新建"的事件
public void
actionPerformed(ActionEvent e)
{
if(rce() == f_new)
{
saveFileDialog();
return;
}
//响应菜单项"打开"的事件
if(rce() == f_open)
{
openFileDialog();
}
//响应菜单项"保存"和"按钮"保存"的事件
if((rce() ==
b_save)||(rce() == f_save))
{
try{
String str =
t();
FileWriter fw = new
FileWriter(tempFile);
(str);
();
//isCurrentFileExists =
true;
tempFile = tempFile;
}
catch(Exception ex)
26
第 页
{
tackTrace();
}
}
//响应菜单"另存为"的事件
if(rce() == f_saveas)
{
int option =
alog(this,"另存为");
String fname = null;
if(option ==
E_OPTION)
{
File f =
ectedFile();//如果没有选取文件,下面的e(f)将会返回输入的文件名
fname = e(f);
if(fname != null &&
().length() > 0)
{
if(th(".txt"))
;
else
{
fname =
(".txt");
}
}
if(())
fname = e();
f =
rentDirectory();
f = new
File(h().concat(tor).concat(fname));
try{
NewFile();
String str =
t();
FileWriter fw = new
FileWriter(f);
(str);
();
}
catch(Exception ex)
{
tackTrace();
}
}
}
//响应"退出"菜单和"退出"按钮的事件
if((rce() ==
f_close)||(rce() == b_close))
{
whenExit();
}
if(rce() ==
e_copy||rce() == je_copy)
{
copy();
}
if(rce() ==
e_paste||rce() == je_paste)
{
paste();
}
if(rce() ==
e_cut||rce() == je_cut)
{
cut();
}
if(rce() ==
e_clear||rce() == je_clear)
{
clear();
}
if(rce() ==
e_selectAll||rce() == je_selectAll)
{
selectAll();
}
//创建颜色选择对话框
if(rce() == s_color)
{
27
第 页
Color c =
alog(this,"请选择文字颜色",);
if(c != null)
{
eground(c);
}
else
eground(eground());
}
if(rce() == h_editor)
{
ssageDialog(this,"作者: zhuhaohui n版本: Windows10n微软软件许可条款rn" +
"WINDOWS 操作系统rn ·Microsoft 隐私声明
(/privacy)rn" +
"· 微软服务协议
(/msa)rn" +
"· Adobe Flash
Player 许可条款 (/adobeflash)rn" +
"" +
"","关于记事本",ATION_MESSAGE);
}
}
public static void main(String[] args)
//创建一个NotePad的匿名对象
{
new Notebook();
}
@Override
public void itemStateChanged(ItemEvent
arg0) {
// TODO Auto-generated method
stub
}
}
28
第 页


发布评论