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

📄 editcontroller.java

📁 访windows记事本
💻 JAVA
字号:
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.undo.*;

public class EditController implements ActionListener, DocumentListener, WindowListener,
		            UndoableEditListener {
	CTBEditFrame frame;
 	EditModel model;
 	UndoManager um = new UndoManager();
 
 	public EditController(CTBEditFrame ctbFrame) {
  		frame = ctbFrame;
  		model = new EditModel(frame);
 	}
 
 	//--------  侦听器事件  ----------------//
 	public void actionPerformed(ActionEvent e) {
  		JMenuItem itemTemp = (JMenuItem)e.getSource();
  		if (itemTemp.equals(frame.itemNew)) {
   		model.newFile();
  		} else if (itemTemp.equals(frame.itemOpen)) {
   		model.openFile();
  		} else if (itemTemp.equals(frame.itemSave)) {
   		model.saveFile();
  		} else if (itemTemp.equals(frame.itemSaveAs)) {
   		model.saveAsFile();
  		} else if (itemTemp.equals(frame.itemExit)) {
   		model.exit();
  		} else if (itemTemp.equals(frame.itemCut)) {
   		model.cutText();
  		} else if (itemTemp.equals(frame.itemCopy)) {
   		model.copyText();
  		} else if (itemTemp.equals(frame.itemPaste)) {
   		model.pasteText();
  		} else if (itemTemp.equals(frame.itemUndo)) {
   			try {
      				if (um.canUndo()) {
       			um.undo();
      					}
     				} catch (CannotRedoException ex) {
      				System.out.println(ex.getMessage());
     				}
  		} else if (itemTemp.equals(frame.itemRedo)) {
   		 	try {
		      	if (um.canRedo()) {
      				um.redo();
      				}
     			} catch (CannotRedoException ex) {
      			System.out.println(ex.getMessage());
     								}
  		} else if (itemTemp.equals(frame.itemFont)) {
   		model.setTextFont();
  		} else if (itemTemp.equals(frame.itemFind)) {
   		model.find();
  		} else if (itemTemp.equals(frame.itemReplace)) {
   		model.replace();
  		} else if (itemTemp.equals(frame.itemBackground)) {
   		model.setBackgroundColor();
  		} else if (itemTemp.equals(frame.itemLine)) {
   		model.setLineEnter();
  		} else if (itemTemp.equals(frame.itemAbout)) {
  		model.showAbout();	
  		} else if (itemTemp.equals(frame.itemSelectAll)){
  		model.selectAll();
  		}
	}
 
 	public void insertUpdate(DocumentEvent e) {
  		model.setFileIsDirty(true);
  		frame.itemUndo.setText(um.getUndoPresentationName());
  		frame.itemRedo.setText(um.getRedoPresentationName());
  		setUndoOrRedoMenu();
 	}
      
 	public void removeUpdate(DocumentEvent e) {
  		model.setFileIsDirty(true);
  		frame.itemUndo.setText(um.getUndoPresentationName());
  		frame.itemRedo.setText(um.getRedoPresentationName());
  		setUndoOrRedoMenu();
 	}
      
 	public void changedUpdate(DocumentEvent e) {
  		model.setFileIsDirty(true);
  		frame.itemUndo.setText(um.getUndoPresentationName());
  		frame.itemRedo.setText(um.getRedoPresentationName());
  		setUndoOrRedoMenu();
 	}
 
 	// 设置是否使Undo/Redo按钮有效
 	private void setUndoOrRedoMenu() {
  		if (um.canUndo()) {
   		frame.itemUndo.setEnabled(true);
  		} else {
   		frame.itemUndo.setEnabled(false);
  		}
  
  		if (um.canRedo()) {
   		frame.itemRedo.setEnabled(true);
  		} else {
   		frame.itemRedo.setEnabled(false);
  		}
 	}
 
 	public void windowOpened(WindowEvent e) {}
 	public void windowClosed(WindowEvent e) {}
 	public void windowIconified(WindowEvent e) {}
 	public void windowDeiconified(WindowEvent e) {}
 	public void windowActivated(WindowEvent e) {}
 	public void windowDeactivated(WindowEvent e) {} 
 	public void windowClosing(WindowEvent e) { model.exit(); }
 
 	public void undoableEditHappened(UndoableEditEvent e) {
  		um.addEdit(e.getEdit());
 	}
}

⌨️ 快捷键说明

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