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

📄 notepad备份.java

📁 这是本人在大二下暑假期间用JAVA写的记事本
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
					else
					{	try
						{	FileReader fr=new FileReader(fileName);
							BufferedReader bfr=new BufferedReader(fr);
							editArea.setText("");
							while((str=bfr.readLine())!=null)
							{	editArea.append(str);
							}
							this.setTitle(fileName.getName()+" - 记事本");
							statusLabel.setText(" 当前打开文件:"+fileName.getAbsoluteFile());
							fr.close();
							isNewFile=false;
							currentFile=fileName;
							oldValue=editArea.getText();
						}
						catch (IOException ioException)
						{
						}
					}
				}
				else
				{	return;
				}
			}
			else
			{	String str=null;
				JFileChooser fileChooser=new JFileChooser();
				fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
				fileChooser.setDialogTitle("打开文件");
				int result=fileChooser.showOpenDialog(this);
				if(result==JFileChooser.CANCEL_OPTION)
				{	statusLabel.setText(" 您没有选择任何文件 ");
					return;
				}
				File fileName=fileChooser.getSelectedFile();
				if(fileName==null || fileName.getName().equals(""))
				{	JOptionPane.showMessageDialog(this,"不合法的文件名","不合法的文件名",JOptionPane.ERROR_MESSAGE);
				}
				else
				{	try
					{	FileReader fr=new FileReader(fileName);
						BufferedReader bfr=new BufferedReader(fr);
						editArea.setText("");
						while((str=bfr.readLine())!=null)
						{	editArea.append(str);
						}
						this.setTitle(fileName.getName()+" - 记事本");
						statusLabel.setText(" 当前打开文件:"+fileName.getAbsoluteFile());
						fr.close();
						isNewFile=false;
						currentFile=fileName;
						oldValue=editArea.getText();
					}
					catch (IOException ioException)
					{
					}
				}
			}
		}//打开结束
		//保存
		else if(e.getSource()==fileMenu_Save)
		{	editArea.requestFocus();
			if(isNewFile)
			{	String str=null;
				JFileChooser fileChooser=new JFileChooser();
				fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
				fileChooser.setDialogTitle("保存");
				int result=fileChooser.showSaveDialog(this);
				if(result==JFileChooser.CANCEL_OPTION)
				{	statusLabel.setText("您没有选择任何文件");
					return;
				}
				File saveFileName=fileChooser.getSelectedFile();
				if(saveFileName==null || saveFileName.getName().equals(""))
				{	JOptionPane.showMessageDialog(this,"不合法的文件名","不合法的文件名",JOptionPane.ERROR_MESSAGE);
				}
				else 
				{	try
					{	FileWriter fw=new FileWriter(saveFileName);
						BufferedWriter bfw=new BufferedWriter(fw);
						bfw.write(editArea.getText(),0,editArea.getText().length());
						bfw.flush();//刷新该流的缓冲
						bfw.close();
						isNewFile=false;
						currentFile=saveFileName;
						oldValue=editArea.getText();
						this.setTitle(saveFileName.getName()+" - 记事本");
						statusLabel.setText("当前打开文件:"+saveFileName.getAbsoluteFile());
					}
					catch (IOException ioException)
					{
					}
				}
			}
			else
			{	try
				{	FileWriter fw=new FileWriter(currentFile);
					BufferedWriter bfw=new BufferedWriter(fw);
					bfw.write(editArea.getText(),0,editArea.getText().length());
					bfw.flush();
					fw.close();
				}							
				catch(IOException ioException)
				{					
				}
			}
		}//保存结束
		//另存为
		else if(e.getSource()==fileMenu_SaveAs)
		{	editArea.requestFocus();
			String str=null;
			JFileChooser fileChooser=new JFileChooser();
			fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
			fileChooser.setDialogTitle("另存为");
			int result=fileChooser.showSaveDialog(this);
			if(result==JFileChooser.CANCEL_OPTION)
			{	statusLabel.setText(" 您没有选择任何文件");
				return;
			}				
			File saveFileName=fileChooser.getSelectedFile();
			if(saveFileName==null||saveFileName.getName().equals(""))
			{	JOptionPane.showMessageDialog(this,"不合法的文件名","不合法的文件名",JOptionPane.ERROR_MESSAGE);
			}	
			else 
			{	try
				{	FileWriter fw=new FileWriter(saveFileName);
					BufferedWriter bfw=new BufferedWriter(fw);
					bfw.write(editArea.getText(),0,editArea.getText().length());
					bfw.flush();
					fw.close();
					oldValue=editArea.getText();
					this.setTitle(saveFileName.getName()+"  - 记事本");
					statusLabel.setText(" 当前打开文件:"+saveFileName.getAbsoluteFile());
				}						
				catch(IOException ioException)
				{					
				}				
			}
		}//另存为结束
		//页面设置
		else if(e.getSource()==fileMenu_PageSetUp)
		{	editArea.requestFocus();
			JOptionPane.showMessageDialog(this,"对不起,此功能尚未实现!","提示",JOptionPane.WARNING_MESSAGE);
		}//页面设置结束
		//打印
		else if(e.getSource()==fileMenu_Print)
		{	editArea.requestFocus();
			JOptionPane.showMessageDialog(this,"对不起,此功能尚未实现!","提示",JOptionPane.WARNING_MESSAGE);
		}//打印结束
		//退出
		else if(e.getSource()==fileMenu_Exit)
		{	int exitChoose=JOptionPane.showConfirmDialog(this,"确定要退出吗?","退出提示",JOptionPane.OK_CANCEL_OPTION);
			if(exitChoose==JOptionPane.OK_OPTION)
			{	System.exit(0);
			}
			else
			{	return;
			}
		}//退出结束
	
		//撤销
		else if(e.getSource()==editMenu_Undo || e.getSource()==popupMenu_Undo)
		{	editArea.requestFocus();
			if(undo.canUndo())
			{	try
				{	undo.undo();
				}
				catch (CannotUndoException ex)
				{	System.out.println("Unable to undo:" + ex);
				}
			}
			if(!undo.canUndo())
				{	editMenu_Undo.setEnabled(false);
				}
		}//撤销结束
		//剪切
		else if(e.getSource()==editMenu_Cut || e.getSource()==popupMenu_Cut)
		{	editArea.requestFocus();
			String text=editArea.getSelectedText();
			StringSelection selection=new StringSelection(text);
			clipBoard.setContents(selection,null);
			editArea.replaceRange("",editArea.getSelectionStart(),editArea.getSelectionEnd());
			checkMenuItemEnabled();//设置剪切,复制,粘帖,删除功能的可用性
		}//剪切结束
		//复制
		else if(e.getSource()==editMenu_Copy || e.getSource()==popupMenu_Copy)
		{	editArea.requestFocus();
			String text=editArea.getSelectedText();
			StringSelection selection=new StringSelection(text);
			clipBoard.setContents(selection,null);
			checkMenuItemEnabled();//设置剪切,复制,粘帖,删除功能的可用性
		}//复制结束
		//粘帖
		else if(e.getSource()==editMenu_Paste || e.getSource()==popupMenu_Paste)
		{	editArea.requestFocus();
			Transferable contents=clipBoard.getContents(this);
			if(contents==null)return;
			String text="";
			try
			{	text=(String)contents.getTransferData(DataFlavor.stringFlavor);
			}
			catch (Exception exception)
			{
			}
			editArea.replaceRange(text,editArea.getSelectionStart(),editArea.getSelectionEnd());
			checkMenuItemEnabled();
		}//粘帖结束
		//删除
		else if(e.getSource()==editMenu_Delete || e.getSource()==popupMenu_Delete)
		{	editArea.requestFocus();
			editArea.replaceRange("",editArea.getSelectionStart(),editArea.getSelectionEnd());
			checkMenuItemEnabled();	//设置剪切、复制、粘贴、删除等功能的可用性	
		}//删除结束
		//查找
		else if(e.getSource()==editMenu_Find)
		{	editArea.requestFocus();
			find();
		}//查找结束
		//查找下一个
		else if(e.getSource()==editMenu_FindNext)
		{	editArea.requestFocus();
			find();
		}//查找下一个结束
		//替换
		else if(e.getSource()==editMenu_Replace)
		{	editArea.requestFocus();
			replace();
		}//替换结束
		//转到
		else if(e.getSource()==editMenu_GoTo)
		{	editArea.requestFocus();
			JOptionPane.showMessageDialog(this,"对不起,此功能尚未实现!","提示",JOptionPane.WARNING_MESSAGE);
		}//转到结束
		//时间日期
		else if(e.getSource()==editMenu_TimeDate)
		{	editArea.requestFocus();
			Calendar rightNow=Calendar.getInstance();
			Date date=rightNow.getTime();
			editArea.insert(date.toString(),editArea.getCaretPosition());
		}//时间日期结束
		//全选
		else if(e.getSource()==editMenu_SelectAll || e.getSource()==popupMenu_SelectAll)
		{	editArea.selectAll();
		}//全选结束
		//自动换行(已在前面设置)
		else if(e.getSource()==formatMenu_LineWrap)
		{	if(formatMenu_LineWrap.getState())
				editArea.setLineWrap(true);
			else 
				editArea.setLineWrap(false);

		}//自动换行结束
		//字体设置
		else if(e.getSource()==formatMenu_Font)
		{	editArea.requestFocus();
			font();
		}//字体设置结束
		//设置状态栏可见性
		else if(e.getSource()==viewMenu_Status)
		{	if(viewMenu_Status.getState())
				statusLabel.setVisible(true);
			else 
				statusLabel.setVisible(false);
		}//设置状态栏可见性结束
		//帮助主题
		else if(e.getSource()==helpMenu_HelpTopics)
		{	editArea.requestFocus();
			JOptionPane.showMessageDialog(this,"路漫漫其修远兮,吾将上下而求索。","帮助主题",JOptionPane.INFORMATION_MESSAGE);
		}//帮助主题结束
		//关于
		else if(e.getSource()==helpMenu_AboutNotepad)
		{	editArea.requestFocus();
			JOptionPane.showMessageDialog(this,
				"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n"+
				" 编写者:黄山学院信息工程学院计算机科学与技术专业06级本科 张选仲 \n"+
				" 编写时间:大二下暑假期间                          \n"+
				" 本人QQ:414644665                            \n"+
				" e-mail:zxz414644665@163.com                \n"+
				" 初学者,一些地方借鉴他人,不足之处希望大家能提出意见,谢谢!  \n"+
				"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n",
				"记事本",JOptionPane.INFORMATION_MESSAGE);
		}//关于结束
	}//方法actionPerformed()结束

	//实现DocumentListener接口中的方法(与撤销操作有关)
	public void removeUpdate(DocumentEvent e)//给出移除了一部分文档的通知
	{	editMenu_Undo.setEnabled(true);
	}
	public void insertUpdate(DocumentEvent e)//给出对文档执行了插入操作的通知
	{	editMenu_Undo.setEnabled(true);
	}
	public void changedUpdate(DocumentEvent e)//给出属性或属性集发生了更改的通知
	{	editMenu_Undo.setEnabled(true);
	}//DocumentListener结束

	//实现接口UndoableEditListener的类UndoHandler(与撤销操作有关)
	class UndoHandler implements UndoableEditListener
	{	public void undoableEditHappened(UndoableEditEvent uee)
		{	undo.addEdit(uee.getEdit());
		}
	}

	//main函数开始
	public static void main(String args[])
	{	Notepad notepad=new Notepad();
		notepad.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使用 System exit 方法退出应用程序
	}//main函数结束
}

⌨️ 快捷键说明

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