一、摘要
目前,很多新的技术领域都涉及到了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 完整代码、文档


















