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

📄 demonotepad.java

📁 程序包括小型的飞机与导弹游戏的源代码和记事本的源代码
💻 JAVA
字号:
package com.zk1;

import javax.swing.*;
import java.awt.*;
import javax.swing.undo.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.event.*;
import javax.swing.filechooser.FileFilter;
class NotePad extends JFrame implements ActionListener
{
	JMenuBar menuBar = new JMenuBar();
	JMenu menu = new JMenu("File");
	JMenuItem open = new JMenuItem("Open",'O');
	JMenuItem save = new JMenuItem("Save",'S');
	JMenuItem exit = new JMenuItem("Exit",'E');
	
	UndoManager undo2 = new UndoManager();
	
	JMenu edit = new JMenu("Edit");
	JMenuItem undo = new JMenuItem("Undo",'U');
	JMenuItem redo = new JMenuItem("Redo",'R');
	JMenuItem copy = new JMenuItem("Copy",'C');
	JMenuItem cut = new JMenuItem("Cut",'t');
	JMenuItem delete = new JMenuItem("Delete",'D');
	JMenuItem selectAll = new JMenuItem("SelectAll",'S');

	JTextArea text = new JTextArea();
	JScrollPane scroll = new JScrollPane(text);
	NotePad()
	{
	   Container pane = this.getContentPane();
	   
	    open.setAccelerator(KeyStroke.getKeyStroke('O',Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),true));	   
	    open.addActionListener(this);
		menu.add(open);
		open.setAccelerator(KeyStroke.getKeyStroke('S',Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),true));	   
	    save.addActionListener(this);
		menu.add(save);
		menu.addSeparator();
		menu.add(exit);
		
		undo.addActionListener(this);
		edit.add(undo);
		edit.add(redo);
		edit.add(copy);
		edit.add(cut);
		edit.add(delete);
		edit.add(selectAll);
		
		
		menuBar.add(menu);
		menuBar.add(edit);
		
		text.getDocument().addUndoableEditListener(new UndoableEditListener()
		{
			public void undoableEditHappened(UndoableEditEvent e)
			{
				undo2.addEdit(e.getEdit());
			}
		}
		);
		
		pane.add(scroll);
		
		this.setJMenuBar(menuBar);
		this.setContentPane(pane);
		this.setLocation(200,200);
		this.setSize(500,400);
		this.setVisible(true);		
	}
	String filename="";
	File f =null;
	public void actionPerformed(ActionEvent e)
	 {
	 	if(e.getSource() == open)
	 	{
	 		try
	 		{
	 	
	 		JFileChooser chooser = new JFileChooser();
	 		chooser.setFileFilter(new TextFilter());
	 		if( chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
	 		{	 	
		 		f = chooser.getSelectedFile();
		 		FileReader reader = new FileReader(f);
		 		String strText = "";
		 		int iT;
		 		while((iT = reader.read())!=-1)
		 		{
		 			strText+=(char)iT;
		 		}
		 		this.text.setText(strText);
		 		reader.close();
	 		}
	 		}catch(Exception ex)
	 		{
	 			ex.printStackTrace();
	 		}
	 	}
	 	if(e.getSource() == save)
	 	{
	 		JFileChooser c = new JFileChooser();
	 		c.setFileFilter(new TextFilter());
	 		if(c.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
	 		{
	 			f = c.getSelectedFile();	 			
	 			try
	 			{
	 			String strText = this.text.getText();
	 			
	 		//	System.out.println(strText);
	 			FileWriter writer = new FileWriter(f);	 		
	 			
	 			writer.write(strText);
	 			
	 			writer.close();
	 				
	 			}catch(Exception ex)
	 			{
	 				
	 			}
	 		}
	 		
	 	}
	 }
}
class TextFilter extends FileFilter
{
	 public  boolean accept(File f)
	 {
	 	return f.getName().endsWith(".txt") || f.isDirectory();
	 }
    public  String getDescription()
    {
    	return "文本文件(*.txt)";
    }
}
class DemoNotePad
{
	public static void main(String[] args)
	{
		new NotePad();		
	}
}

⌨️ 快捷键说明

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