⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytexteditor.java

📁 简单的文本编辑器,文件操作能够实现:新建文档、保存文档、打开文档、关闭文档、页面设置、打印预览、打印设置、打印等。编辑操作能够实现对文本内容的选择、剪切、复制、粘贴、查找、替换等。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        setJMenuBar(tedMenuBar); //设置菜单条                tedMenuBar.getAccessibleContext().setAccessibleName("Ted Menu Bar");                tedMenuBar.getAccessibleContext().setAccessibleDescription("Ted menu bar.");                               textBox.getDocument().addDocumentListener(new DocumentListener(){        	public void insertUpdate(DocumentEvent e){        	    changed = true;            }        	public void removeUpdate(DocumentEvent e){        	    changed = true;            }            public void changedUpdate(DocumentEvent e){                changed = true;            }        });      	      	    }          // PopupMenu菜单的 创建方法,由initComponents方法调用,    // 完成弹出式菜单的创建和设置     public void createPopupMenu()    {     	        JMenuItem menuItem;                JSeparator jSeparator1;        JPopupMenu popup = new JPopupMenu();  //创建弹出式菜单                menuItem = new JMenuItem("新建"); //创建"新建"菜单项                //"新建"菜单项的监听函数                menuItem.addActionListener(new java.awt.event.ActionListener(){             public void actionPerformed(java.awt.event.ActionEvent evt){                newMenuItemActionPerformed(evt);}             });                     popup.add(menuItem);  //添加"新建"菜单项                           menuItem = new JMenuItem("保存");  //创建"保存"菜单项                         //"保存"菜单项的监听器的设置                menuItem.addActionListener(new java.awt.event.ActionListener(){             public void actionPerformed(java.awt.event.ActionEvent evt){                saveMenuItemActionPerformed(evt);}             });                     popup.add(menuItem);//添加"保存"菜单项                               jSeparator1 = new JSeparator();                  popup.add(jSeparator1); //加入分隔条                        menuItem = new JMenuItem("查找"); //创建"查找"菜单项                //"查找"菜单项监听器的设置                       menuItem.addActionListener(new java.awt.event.ActionListener(){              public void actionPerformed(java.awt.event.ActionEvent evt){                findMenuItemActionPerformed(evt);}              });                              popup.add(menuItem);  //添加"查找"菜单项                                   menuItem = new JMenuItem("文字颜色...");//创建"文字颜色"菜单项                  //"文字颜色"菜单项监听器的设置                                menuItem.addActionListener(new java.awt.event.ActionListener(){              public void actionPerformed(java.awt.event.ActionEvent evt){                FcolorMenuItemActionPerformed(evt);}              });                        popup.add(menuItem); //添加"文字颜色"菜单项                                 menuItem = new JMenuItem("背景颜色...");//创建"背景颜色"菜单项                //"背景颜色"菜单项监听器的设置                        menuItem.addActionListener(new java.awt.event.ActionListener(){              public void actionPerformed(java.awt.event.ActionEvent evt){                BcolorMenuItemActionPerformed(evt);}              });                       popup.add(menuItem); //添加"背景颜色"菜单项                        //添加 MouseListener  以便右击文本区时,菜单弹出                MouseListener popupListener = new PopupListener(popup);                textBox.addMouseListener(popupListener);            }//createPopupMenu结束                // 当"文件->保存"菜单项被选择时,saveMenuItemActionPerformed方法被调用来,   // 保存当前文件       private void saveMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {                 doSave(fileName);            }        // 当"设置->文字颜色"菜单被选择时,FcolorMenuItemActionPerformed方法被调用,    // 对文本区内的文本的颜色进行设置    private void FcolorMenuItemActionPerformed(java.awt.event.ActionEvent evt)    {       	 	        Color newColor = JColorChooser.showDialog(this,"选择字体颜色",textBox.getForeground());                if (newColor != null)         {            textBox.setForeground(newColor);        }                   }        // 当"设置->文字颜色"菜单被选择时,BcolorMenuItemActionPerformed方法被调用,    // 对文本区内的文本的颜色进行设置    private void BcolorMenuItemActionPerformed(java.awt.event.ActionEvent evt)    {    	       Color newColor = JColorChooser.showDialog(this,"选择背景颜色",textBox.getBackground());               if (newColor != null)        {            textBox.setBackground(newColor);       }           }        // 当"文件->退出" 菜单被选择时,exitMenuItemActionPerformed方法被调用,    // 关闭当前程序            private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {         	    	int n; 	       	    	Object[] option = { "YES", "NO" };	        	if(changed == true)    	{        	            n = JOptionPane.showOptionDialog(null,                                    "你的文件还没有保存,你想现在保存吗?",                                    "保存",                                    JOptionPane.YES_NO_OPTION,                                    JOptionPane.QUESTION_MESSAGE,                                    null,                                    option,                                    option[0]                                    );                                                if (n == JOptionPane.YES_OPTION)             {            	                  doSave(fileName);                                    System.exit(0);                                                  }             else if (n == JOptionPane.NO_OPTION)             {            	                  System.exit(0);                                  }                                }              }               // 当 "编辑->复制" 菜单被选择时,copyMenuItemActionPerformed方法被调用,    // 它把当前选定的文字复制到”剪贴板“    private void copyMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {     	             textBox.copy();            }        // 当 "编辑->粘贴" 菜单被选择时,pasteMenuItemActionPerformed方法被调用,    // 它把”剪贴板“中的文字粘贴到文本区域中    private void pasteMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {     	               textBox.paste();                     }        // 当 "编辑->剪切" 菜单被选择时,copyMenuItemActionPerformed方法被调用,    // 它把当前选定的文字剪切到”剪贴板“    private void cutMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {     	              textBox.cut();                  }            // 当 "编辑->查找" 菜单被选择时,findMenuItemActionPerformed方法被调用,    // 它创建一个查找对话框,以提供对文件中的字符串的查找        private void findMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {    	            new Finder(this, textBox).show();            }        // 当 ”帮助->关于“  菜单被选择时,aboutMenuItemActionPerformed方法被调用    //它显示一个关于帮助信息的对话框         private void aboutMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {    	               new About(this).show();            }    // 当"文件->另存为" 菜单被选择时,saveAsMenuItemActionPerformed方法被调用    // 它调用doSaveAs方法来实现对文件的保存         private void saveAsMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {       	              doSaveAs();            }    // 当 "文件->打开"菜单被选择时,openMenuItemActionPerformed方法被调用,    // 它会显示一个文件对话框来让用户选择文件编辑        private void openMenuItemActionPerformed(java.awt.event.ActionEvent evt)    {              	     	     	int n;      		    	Object[] option = { "YES", "NO", "CANCEL" };    	    	FileDialog fileDialog = new FileDialog(this, "Open...", FileDialog.LOAD);    	     	if(changed == true)     	{               	            n = JOptionPane.showOptionDialog(null,                       "你的文件还没有保存,你想现在保存吗?",                       "保存",                       JOptionPane.YES_NO_CANCEL_OPTION,                       JOptionPane.QUESTION_MESSAGE,                       null,                       option,                       option[0]                 );                                                                                    switch(n)            {            	case JOptionPane.YES_OPTION:            	            		    doSave(fileName);            		                               	              	                     	case JOptionPane.NO_OPTION:{            		                		    fileDialog.show(); //显示对话框                                if (fileDialog.getFile() == null)                        {                           return;                        }                                fileName = fileDialog.getDirectory()                         + File.separator + fileDialog.getFile();                        FileInputStream fis = null;                         String str = null;                                try                        {                           fis = new FileInputStream(fileName);                                      int size = fis.available();                                      byte[] bytes = new byte [size];                                      fis.read(bytes);                                      str = new String(bytes);                                   }                         catch (IOException e)                         {                	   	                        }                         finally                         {                           try                            {                               fis.close();                           }                            catch (IOException e2)                            {           	                           }                                   }                        if (str != null)                        {                           textBox.setText(str);                        }                                changed = false;  		               		             		                                   break;                                   }                                                       	case JOptionPane.CANCEL_OPTION:            	        break;                	                	                 	default:           }            	       }        else       {           fileDialog.show();                    if(fileDialog.getFile() == null)           {               return;           }                   fileName = fileDialog.getDirectory()                       + File.separator + fileDialog.getFile();           FileInputStream fis = null;            String str = null;                   try           {               fis = new FileInputStream(fileName);                          int size = fis.available();                          byte[] bytes = new byte [size];                          fis.read(bytes);                          str = new String(bytes);                      }            catch (IOException e)            {                	   	           }            finally            {               try                {                   fis.close();               }                catch (IOException e2)                {           	               }                      }           if (str != null)           {               textBox.setText(str);           }                   changed = false;           		               		             		         }                 }                   //当 "文件->新建" 菜单被选择时,newMenuItemActionPerformed方法被调用,    //如果文本区域中有文字,询问是否保存文件,否则清空文本区域        private void newMenuItemActionPerformed(java.awt.event.ActionEvent evt)     {           	    	int n;  	    	Object[] option = { "YES", "NO", "CANCEL" };    	    	    	if( changed == true)        {               	            n = JOptionPane.showOptionDialog(null,                       "你的文件还没有保存,你想现在保存吗?",                       "保存",                       JOptionPane.YES_NO_CANCEL_OPTION,                       JOptionPane.QUESTION_MESSAGE,                       null,                       option,                       option[0]                 );                                                                                     switch(n)             {            	case JOptionPane.YES_OPTION:{            		    doSave(fileName);            		    fileName = "";     	                                   textBox.setText("");           		             		             		    break;            	     }             	              	                     	case JOptionPane.NO_OPTION:{            		    fileName = "";     	                                   textBox.setText("");                        break;                     }                                  	case JOptionPane.CANCEL_OPTION:            	        break;            	                 	default:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -