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

📄 writeboard.java

📁 用java写的一个记事本
💻 JAVA
字号:

import java.lang.*;
import java.awt.*;
import java.io.*;
import java.awt.datatransfer.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.event.*;

public class WriteBoard extends JFrame implements ActionListener {
	JTextArea textArea = new JTextArea();

	JMenuBar menuBar = new JMenuBar();

	JMenu fileMenu = new JMenu("File");

	JMenuItem newItem = new JMenuItem("New");

	JMenuItem openItem = new JMenuItem("Open");

	JMenuItem saveItem = new JMenuItem("Save");

	JMenuItem saveAsItem = new JMenuItem("Save As");

	JMenuItem exitItem = new JMenuItem("Exit");

	JMenu editMenu = new JMenu("Edit");

	JMenuItem selectItem = new JMenuItem("Select All");

	JMenuItem selectItem1 = new JMenuItem("Select All");

	JMenuItem copyItem = new JMenuItem("Copy");

	JMenuItem copyItem1 = new JMenuItem("Copy");

	JMenuItem cutItem = new JMenuItem("Cut");

	JMenuItem cutItem1 = new JMenuItem("Cut");

	JMenuItem pasteItem = new JMenuItem("Paste");

	JMenuItem pasteItem1 = new JMenuItem("Paste");

	JMenuItem deleteItem = new JMenuItem("Delete");

	JMenuItem deleteItem1 = new JMenuItem("Delete");

	JMenu viewMenu = new JMenu("View");

	JMenuItem statusItem = new JMenuItem("Staus");

	JMenu helpMenu = new JMenu("Help");

	JMenuItem aboutItem = new JMenuItem("About");

	JPopupMenu popup = new JPopupMenu();

	String fileName = null;
	File file=null;
	JFileChooser filechooser=new JFileChooser();


	Toolkit toolKit = Toolkit.getDefaultToolkit();

	Clipboard clipBoard = toolKit.getSystemClipboard();

	private JDialog aboutDialog = new JDialog();;

	private FileDialog openFileDialog = new FileDialog(this, "Open File",
			FileDialog.LOAD);

	private FileDialog saveAsFileDialog = new FileDialog(this, "Save File As",
			FileDialog.SAVE);

	public JDialog getAboutDialog() {
		return aboutDialog;
	}

	public void initAboutDialog() {
		aboutDialog.setTitle("About");

		Container con = aboutDialog.getContentPane();
		JLabel aboutLabel = new JLabel(
				"Author:  信管0402    \n       Version:  v1.0  ", JLabel.CENTER);

		con.add(aboutLabel, BorderLayout.CENTER);
		aboutDialog.setSize(250, 150);
		aboutDialog.setLocation(300, 300);
		aboutDialog.addWindowListener(new WindowAdapter() {
			public void WindowClosing(WindowEvent e) {
				dispose();
			}
		});

		//right-key Popup Attribute

		popup.add(copyItem1);
		popup.add(cutItem1);
		popup.add(pasteItem1);
		popup.addSeparator();
		popup.add(selectItem1);
		copyItem1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String text = textArea.getSelectedText();
				StringSelection selection = new StringSelection(text);
				clipBoard.setContents(selection, null);
			}
		});
		copyItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String text = textArea.getSelectedText();
				StringSelection selection = new StringSelection(text);
				clipBoard.setContents(selection, null);
			}
		});
		cutItem1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				textArea.cut();
			}
		});
		cutItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				textArea.cut();
			}
		});
		pasteItem1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				textArea.paste();
			}
		});
		pasteItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				textArea.paste();
			}
		});
		deleteItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				textArea.getSelectedText();
				textArea.replaceSelection("");
			}
		});
		textArea.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent me) {
				checkPopup(me);
			}

			public void mousePressed(MouseEvent me) {
				checkPopup(me);
			}

			public void mouseReleased(MouseEvent me) {
				checkPopup(me);
			}

			private void checkPopup(MouseEvent me) {
				if (me.isPopupTrigger()) {
					popup.show(me.getComponent(), me.getX(), me.getY());
				}
			}
		});

	}

	public void actionPerformed(ActionEvent e) {
		Object eventSource = e.getSource();
		textArea.selectAll();
		if (eventSource == newItem) {
			textArea.setText("");
		} else if (eventSource == openItem) {
			openFileDialog.show();
			fileName = openFileDialog.getDirectory() + openFileDialog.getFile();
			if (fileName != null)
				openFile(fileName);
		} else if (eventSource == saveItem) {
			if(file==null && textArea.getText().length()==0)  return;
			if (file == null && textArea.getText().length() != 0) 
			{
				saveAsFileDialog.show();
				fileName = saveAsFileDialog.getDirectory()
				+ saveAsFileDialog.getFile();
				if (fileName != null)
					saveFile(fileName);
		     }
			if(file!=null) saveFile(fileName);
			
		} else if (eventSource == saveAsItem) {
			saveAsFileDialog.show();
			fileName = saveAsFileDialog.getDirectory()
					+ saveAsFileDialog.getFile();
			if (fileName != null)
				saveFile(fileName);
		} else if ((eventSource == selectItem) || (eventSource == selectItem1)) {
			textArea.selectAll();
		} else if (eventSource == exitItem) {
			System.exit(0);
		}
	}

	public WriteBoard() {
		setTitle("WriteBoard");
		setFont(new Font("宋体", Font.ITALIC, 16));
		setBackground(Color.white);
		setSize(400, 300);
		//set shortcut key and add menu item
		fileMenu.setMnemonic('F');
		fileMenu.add(newItem);
		newItem.setMnemonic('N');
		fileMenu.add(openItem);
		openItem.setMnemonic('O');
		//Appends a new separator to the end of the menu.
		fileMenu.addSeparator();
		fileMenu.add(saveItem);
		saveItem.setMnemonic('S');
		fileMenu.add(saveAsItem);
		saveAsItem.setMnemonic('A');
		fileMenu.addSeparator();
		fileMenu.add(exitItem);
		exitItem.setMnemonic('X');
		editMenu.setMnemonic('E');
		selectItem.setMnemonic('A');
		editMenu.addSeparator();
		editMenu.add(copyItem);
		editMenu.add(cutItem);
		editMenu.add(pasteItem);
		editMenu.add(deleteItem);
		fileMenu.addSeparator();
		editMenu.add(selectItem);
		viewMenu.setMnemonic('V');
		viewMenu.add(statusItem);
		helpMenu.setMnemonic('H');
		helpMenu.add(aboutItem);
		aboutItem.setMnemonic('A');
		menuBar.add(fileMenu);
		menuBar.add(editMenu);
		menuBar.add(viewMenu);
		menuBar.add(helpMenu);
		setJMenuBar(menuBar);
		//getJPopupMenu();
		//add textArea
		getContentPane().add(textArea);
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		initAboutDialog();
		aboutItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				aboutDialog.show();
			}
		});
		newItem.addActionListener(this);
		openItem.addActionListener(this);
		saveItem.addActionListener(this);
		saveAsItem.addActionListener(this);
		exitItem.addActionListener(this);
		selectItem.addActionListener(this);
		selectItem1.addActionListener(this);
		//cutItem.addActionListener(this);
		//cutItem1.addActionListener(this);
		//pasteItem.addActionListener(this);
		//deleteItem.addActionListener(this);

	}

	//read file
	public void openFile(String fileName) {
		try {
			File file = new File(fileName);
			FileReader readIn = new FileReader(file);
			int size = (int) file.length();
			int charsRead = 0;
			char[] content = new char[size];
			while (readIn.ready())
				charsRead += readIn.read(content, charsRead, size - charsRead);
			readIn.close();
			textArea.setText(new String(content, 0, charsRead));
		} catch (IOException e) {
			System.out.println("Error opening file");
		}
	}

	//write file
	public void saveFile(String fileName) {
		try {
			File file = new File(fileName);
			FileWriter writeOut = new FileWriter(file);
			writeOut.write(textArea.getText());
			writeOut.close();
		} catch (IOException e) {
			System.out.println("Error writing file");
		}
	}

	public static void main(String[] args) {

		JFrame frame = new WriteBoard();
		//set the window in the screencenter
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension frameSize = frame.getSize();
		if (frameSize.height > screenSize.height) {
			frameSize.height = screenSize.height;
		}
		if (frameSize.width > screenSize.width) {
			frameSize.width = screenSize.width;
		}
		frame.setLocation((screenSize.width - frameSize.width) / 2,
				(screenSize.height - frameSize.height) / 2);
		frame.setVisible(true);

	}
}

⌨️ 快捷键说明

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