一、摘要
目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并且涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此简易JAVA写字板程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,全选,撤销等多种基本功能。该程序主要用到了Java swing和事件监听等。
二、功能设计
1.功能描述
本程序是用来构建的程序是参照Windows操作系统下的写字板工具,功能如下:
- 菜单有“文件”、“编辑”、“格式”、“帮助”等四个主菜单。
- “文件”有“新建”、“打开”、“保存”、“另存为”、“退出”、“加载加密文件”、“保存加密文件”、“退出”8个菜单。
- “编辑”、“撤消”剪切“复制”和“粘贴”选择所有“时间/日期”六个菜单:用于撤消、剪切、复制、粘贴。全部,插入日期\时间。
- “格式”菜单中可以对自动换行进行设置,字体的大小和颜色亦可以设置,文档的背景也可以进行操作。
- “帮助”菜单只是对写字板的描述和介绍。
2.快捷键的设置
本程序是在windows下写的板子程序和快捷键的使用程序。方便用户进行文字操作。
Ctrl+N 新建一个文档
Ctrl+O 打开一个文档
Ctrl+S 保存一个文档
Ctrl+L 另存一个文档
Ctrl+C 复制一个文档
Ctrl+X 剪切一个文档
Ctrl+V 粘贴一个文档
Ctrl+A 选择全部
Ctrl+Q 退出一个文档
三、UI界面
1.主界面
MenuBar menusBar;//菜单栏
MenuItem open,keep,save,newfile,exit_out,about,text_font,colorchoose,back_choose,time_add,key_open,key_save,z_cancel,copy,pa_ste,cut,del,select_all,sear,auto_line;
Menu fil,edi,forma,help;
MenuShortcut open_cut,dsave_cut,save_cut,newwork_cut,quit_cut,about_cut,fontchoose_cut,colorchoose_cut,backchoose_cut,timeadd_cut,keyopen_cut,keysave_cut,zcancel_cut,copy_cut,paste_cut,cut_cut,delete_cut,selectall_cut,search_cut,autoline_cut;
Toolkit tool=this.getToolkit();
Clipboard clip;//剪贴版
Image image=tool.getImage("data/icon.jpg");//框架图标
JTextArea textarea;//文本区域
JDialog dialog,fontdialog,keydialog,searchdialog;
JScrollPane listscroll,textscroll;
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontname[]=ge.getAvailableFontFamilyNames();//字体库
JLabel tip,fonttype,fontsize,searchtip,changetip;//提示
file_dialog file_dialog;//输入输出对话框
text text;//存储对象
String opensource="";
String texttype="宋体";
String direct="";//保存路径
String canceltext="";
int size=18;//字体大小
int para=0;//字体粗斜
Font font=new Font(texttype,Font.PLAIN,size);
Color fontcolor=Color.black;//字体颜色
Color backcolor=Color.white;//背景颜色
Date nowtime;
char savemode1='s';
char savemode2='t';//加密保存方式
public SlNotepad(String title){
this.setIconImage(image);//图标
setTitle(title);//标题
this.setResizable (true);
this.setBackground (Color.cyan);
this.setBounds (new Rectangle(150,100,800,550));
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.out.println("程序关闭");
System.exit(0);
}
public void windowOpened(WindowEvent e){
System.out.println("程序打开");
}
});
主模块包括菜单栏和文本区域。 菜单栏与JMenu实现,文本字段与文本实现,菜单栏,菜单栏,包括文件,编辑,格式,帮助。
该程序的主要模块相对简单,易于操作,对计算机硬件配置要求低,体积小,启动快,占地面积小,方便初学者使用,满足人们日常文本的基本处理。
2.文件模块的代码实现
public void save(){
try{
File_dialog=new file_dialog(this,"保存",file_dialog.SAVE);
File_dialog.setVisible(true);
if(file_dialog.getDirectory()!=null && file_dialog.getFile()!=null){
OutputStreamWriter out=new OutputStreamWriter(new
FileOutputStream(file_dialog.getDirectory()+file_dialog.getFile()));
out.write(textarea.getText());
out.close();
opensource=textarea.getText();
direct=file_dialog.getDirectory()+file_dialog.getFile();
}
}catch(Exception e){
System.out.println("Write error:"+e);
JOptionPane.showMessageDialog(this,"写入错误",
"警告",JOptionPane.WARNING_MESSAGE);
}
}
文件模块是写板的菜单栏中的主模块,主要用于操作整个存储或未保存的文档。 包括新建,打开,保存,另存为,启动新菜单以创建新的空文档,打开以打开或在电子文档存储,保存是将编辑后的书写板保存到固定位置,保存为保存编辑的写板 但是内容框可以继续编辑,退出退出WordPad程序。在打开,保存或保存操作时,可以打开,保存或保存各种文档格式,并且可以无格式存储,易于与其他文档转换软件一起使用,文档属性。
3.编辑模块的代码实现
opencut=new MenuShortcut(KeyEvent.VK_O);
open.setShortcut(opencut);
dsavecut=new MenuShortcut(KeyEvent.VK_S);
keep.setShortcut(dsavecut);
savecut=new MenuShortcut(KeyEvent.VK_L);
save.setShortcut(savecut);
quitcut=new MenuShortcut(KeyEvent.VK_Q);
exit_out.setShortcut(quitcut);
fontchoosecut=new MenuShortcut(KeyEvent.VK_F);
text_font.setShortcut(fontchoosecut);
colorchoosecut=new MenuShortcut(KeyEvent.VK_Y);
colorchoose.setShortcut(colorchoosecut);
backchoosecut=new MenuShortcut(KeyEvent.VK_B);
backchoose.setShortcut(backchoosecut);
aboutcut=new MenuShortcut(KeyEvent.VK_H);
about.setShortcut(aboutcut);
timeaddcut=new MenuShortcut(KeyEvent.VK_F5);
timeadd.setShortcut(timeaddcut);
keyopencut=new MenuShortcut(KeyEvent.VK_P);
keyopen.setShortcut(keyopencut);
keysavecut=new MenuShortcut(KeyEvent.VK_K);
keysave.setShortcut(keysavecut);
copy_cut=new MenuShortcut(KeyEvent.VK_C);
copy.setShortcut(copy_cut);
paste_cut=new MenuShortcut(KeyEvent.VK_V);
paste.setShortcut(paste_cut);
cut_cut=new MenuShortcut(KeyEvent.VK_X);
编辑模块是对文本内容的基本编辑,包括剪切,复制,粘贴,删除等。 剪切是所选择的文档并且记录副本被剪切,所选择的文档重复记录,粘贴被剪切或复制记录的文档插入到指定位置,选择文档的所有内容被选择用于编辑操作以方便,删除被选择 去除文本。
4.帮助的实现
public void about(){//关于
JOptionPane.showMessageDialog(this,"\t写字板\n\t写字板这个程序可以帮助人们获得他们需要的信息在大量的文件","关于",JOptionPane.PLAIN_MESSAGE);
}
帮助菜单是用来展示于写字板有关的一些信息。
5.其他功能
四、模块说明
1.流程图
2.相关说明
写字板的布局分为上下两个:分别是菜单栏和文本输入域。因此,我们首先定义一个JFrame类作为容器的底部来承载其他内容。
(1)输入区域text。
(2)模块区域菜单栏。
(3)如果想完成相对应的功能和需求,就得添加一些事件监听器。 不仅在菜单栏中,单击事件侦听器并侦听输入区域的内容,而且在容器中添加。写字板是在Windows XP系统环境下开发的,使用由JDK提供的Sun和JCreator软件。
五、联系与交流
q:969060742 完整代码、文档