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

📄 noteframe.java

📁 记事本源码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
import javax.swing.border.*;
import java.io.PrintWriter;
import javax.print.*;


public class NoteFrame extends JFrame
{
	public NoteFrame()
	{
		Title("自家用-记事本");
		setSize(780,580);
		getContentPane().setLayout(new BorderLayout());
		MenuNote();
		
		southPane=new EstateLabel();
		openFile=new JFileChooser();
		openFile.setCurrentDirectory(new File("."));
		openFile.setFont(new Font("宋体",Font.PLAIN,12));
		p=new JPanel();
		p.setLayout(new BorderLayout());
		mainArea=new JTextArea();
		mainArea.setFont(new Font("宋体",Font.PLAIN,12));
		//mainArea.setLocale(new Locale("CHINESE_GB2312"));
		mainArea.setSelectedTextColor(Color.RED);
		noteScroll=new JScrollPane(mainArea);
		noteScroll.revalidate();
		p.add(noteScroll,BorderLayout.CENTER);
		p.add(southPane,BorderLayout.SOUTH);
		getContentPane().add(p,BorderLayout.CENTER);
	}
	void Title(String s)
	{
		setTitle(s);
	}
	void MenuNote()
	{
		JMenuBar noteMenu=new JMenuBar();
		setJMenuBar(noteMenu);
		
		fileMenu=new JMenu("文件(F)");
		fileMenu.setFont(new Font("宋体",Font.PLAIN,12));		
		fileMenu.setMnemonic(KeyEvent.VK_F);
		noteMenu.add(fileMenu);
		JMenu editMenu=new JMenu("编辑(E)");
		editMenu.setFont(new Font("宋体",Font.PLAIN,12));
		editMenu.setMnemonic(KeyEvent.VK_E);
		noteMenu.add(editMenu);
		JMenu formatMenu=new JMenu("格式(O)");
		formatMenu.setFont(new Font("宋体",Font.PLAIN,12));
		formatMenu.setMnemonic(KeyEvent.VK_O);
		noteMenu.add(formatMenu);
		JMenu seeMenu=new JMenu("查看(V)");
		seeMenu.setFont(new Font("宋体",Font.PLAIN,12));
		seeMenu.setMnemonic(KeyEvent.VK_V);
		noteMenu.add(seeMenu);
		JMenu helpMenu=new JMenu("帮助(H)");
		helpMenu.setFont(new Font("宋体",Font.PLAIN,12));
		helpMenu.setMnemonic(KeyEvent.VK_H);
		noteMenu.add(helpMenu);
		
		JMenuItem newItem=new JMenuItem("新建(N)");
		newItem.setFont(new Font("宋体",Font.PLAIN,12));
		newItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				Title("自家用-记事本");
				mainArea.setText("");
			}
		});
		newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
		JMenuItem openItem=new JMenuItem("打开(O)...    ");
		openItem.setFont(new Font("宋体",Font.PLAIN,12));
		openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
		openItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				openChooser=openFile.showOpenDialog(NoteFrame.this);
				if(openChooser==JFileChooser.APPROVE_OPTION)
				{
					oldFile=openFile.getSelectedFile();
				}
				else
				{
					oldFile=null;
				}
				excessFile=null;
				if(oldFile != null)
				{
					mainArea.setText("");
					try
					{
						excessFile=new FileInputStream(oldFile);
						readerFileInPut=new InputStreamReader(excessFile);
						readerFile=new BufferedReader(readerFileInPut);
					}catch(Exception ee)
					{
						return;
					}
					Title(oldFile.getName()+"-记事本");
					int readString;
					try
					{
						while((readString=readerFile.read()) != -1)
						{
							mainArea.append(String.valueOf((char)readString));						
						}
					}catch(Exception ee)
					{
						return;
					}				
				}
				
				
			}
		});
		JMenuItem saveItem=new JMenuItem("保存(S)");
		saveItem.setFont(new Font("宋体",Font.PLAIN,12));
		saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
		saveItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				if(getTitle().equals("自家用-记事本"))
				{
					openFile.showSaveDialog(NoteFrame.this);
					File filesa=openFile.getSelectedFile();
					FileOutputStream outputfile=null;
					 try{
						// if(filesa.getName().indexOf(".txt")==0){
			             outputfile=new FileOutputStream(filesa+".txt");
						// }else{
							// outputfile=new FileOutputStream(filesa);	 
						// }
			             outputfile.write(mainArea.getText().getBytes());
			             outputfile.close();
			            }
			             catch(Exception ee) 
			             {       
			             ee.printStackTrace();
			             }
				}else{
					//openFile.showSaveDialog(NoteFrame.this);
					File filesa=openFile.getSelectedFile();
					FileOutputStream outputfile=null;
					 try{
						 if(filesa.getName().indexOf(".txt")==0){
			             outputfile=new FileOutputStream(filesa+".txt");
						 }else{
							 outputfile=new FileOutputStream(filesa);	 
						 }
			             outputfile.write(mainArea.getText().getBytes());
			             outputfile.close();
			            }
			             catch(Exception ee) 
			             {       
			             ee.printStackTrace();
			             }
				}
						
			}
		});
		JMenuItem saveAsItem=new JMenuItem("另存为(A)...");
		saveAsItem.setFont(new Font("宋体",Font.PLAIN,12));
		saveAsItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				openFile.showSaveDialog(NoteFrame.this);
				
				File filesa=openFile.getSelectedFile();
				FileOutputStream outputfile=null;
				 try{
					 if(filesa.getName().indexOf(".txt")==0){
		             outputfile=new FileOutputStream(filesa+".txt");
					 }else{
						 outputfile=new FileOutputStream(filesa);	 
					 }
		             outputfile.write(mainArea.getText().getBytes());
		             outputfile.close();
		            }
		             catch(Exception ee) 
		             {       
		             ee.printStackTrace();
		             }
			}
		});
		JMenuItem pageSetItem=new JMenuItem("页面设置(U)...");
		pageSetItem.setFont(new Font("宋体",Font.PLAIN,12));
		JMenuItem printerItem=new JMenuItem("打印(P)...");
		printerItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
{
      
				

		 
			}
			});
		printerItem.setFont(new Font("宋体",Font.PLAIN,12));
		printerItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
		JMenuItem exitItem=new JMenuItem("退出(X)");
		exitItem.setFont(new Font("宋体",Font.PLAIN,12));
		exitItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.exit(0);
			}
		});
		fileMenu.add(newItem);
		fileMenu.add(openItem);
		fileMenu.add(saveItem);
		fileMenu.add(saveAsItem);
		fileMenu.addSeparator();
		fileMenu.add(pageSetItem);
		fileMenu.add(printerItem);
		fileMenu.addSeparator();
		fileMenu.add(exitItem);
		
		JMenuItem quashItem=new JMenuItem("撤消(U)");
		quashItem.setFont(new Font("宋体",Font.PLAIN,12));
		quashItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
		JMenuItem cutItem=new JMenuItem("剪切(T)");
		cutItem.setFont(new Font("宋体",Font.PLAIN,12));
		cutItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				mainArea.cut();
			}
		});
		cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
		JMenuItem copyItem=new JMenuItem("复制(C)");
		copyItem.setFont(new Font("宋体",Font.PLAIN,12));
		copyItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				mainArea.copy();
			}
		});
		copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
		JMenuItem pasteItem=new JMenuItem("粘贴(P)");
		pasteItem.setFont(new Font("宋体",Font.PLAIN,12));
		pasteItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				mainArea.paste();
			}
		});
		pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
		JMenuItem delItem=new JMenuItem("删除(L)       Del");
		delItem.setFont(new Font("宋体",Font.PLAIN,12));
		delItem.setMnemonic(KeyEvent.VK_DELETE);
		delItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				mainArea.replaceSelection("");
			}
		});
		JMenuItem lookUpItem=new JMenuItem("查找(F)...");
		lookUpItem.setFont(new Font("宋体",Font.PLAIN,12));
		lookUpItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				lookup=new LookUp(NoteFrame.this);
				lookup.setVisible(true);
			}
		});
		lookUpItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
		JMenuItem lookUpNextItem=new JMenuItem("查找下一个(N) F3");
		lookUpNextItem.setFont(new Font("宋体",Font.PLAIN,12));
		lookUpNextItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				lookup=new LookUp(NoteFrame.this);
				lookup.setVisible(true);
			}
		});
		JMenuItem rePlaceItem=new JMenuItem("替换(R)...");
		rePlaceItem.setFont(new Font("宋体",Font.PLAIN,12));
		rePlaceItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
		rePlaceItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				replace=new Replace(NoteFrame.this);
				replace.setVisible(true);
			}
		});
		JMenuItem goToItem=new JMenuItem("转到(G)...");
		goToItem.setFont(new Font("宋体",Font.PLAIN,12));
		goToItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));
		JMenuItem allItem=new JMenuItem("全选(A)");
		allItem.setFont(new Font("宋体",Font.PLAIN,12));
		allItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				mainArea.selectAll();
			}
		});
		allItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
		JMenuItem timeItem=new JMenuItem("时间/日期(D) F5");
		timeItem.setFont(new Font("宋体",Font.PLAIN,12));
		editMenu.add(quashItem);
		editMenu.addSeparator();
		editMenu.add(cutItem);
		editMenu.add(copyItem);
		editMenu.add(pasteItem);
		editMenu.add(delItem);
		editMenu.addSeparator();
		editMenu.add(lookUpItem);
		editMenu.add(lookUpNextItem);
		editMenu.add(rePlaceItem);
		editMenu.add(goToItem);
		editMenu.addSeparator();
		editMenu.add(allItem);
		editMenu.add(timeItem);
		
		autoLineItem=new JCheckBoxMenuItem("自动换行(W)");
		autoLineItem.setFont(new Font("宋体",Font.PLAIN,12));
		autoLineItem.addActionListener(new AutoLineAction());
		JMenuItem fontItem=new JMenuItem("字体(F)");
		fontItem.setFont(new Font("宋体",Font.PLAIN,12));
		fontItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)

⌨️ 快捷键说明

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