package sjjeditor;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JToolBar;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTextPane;
import java.awt.BorderLayout;
import javax.swing.JEditorPane;
import javax.swing.text.*;
import javax.swing.undo.*;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.text.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.print.PrinterJob;
import java.awt.Font;
import java.awt.print.*;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class MainFrame extends JFrame implements ActionListener,
CaretListener, DocumentListener, KeyListener, MouseListener {
JPanel contentPane;
protected UndoManager undo = new UndoManager();
BorderLayout borderLayout1 = new BorderLayout();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileExit = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JToolBar jToolBar = new JToolBar();
JButton jbtnOpen = new JButton();
JButton jbtnClose = new JButton();
JButton jbtnAbout = new JButton();
ImageIcon image1 = new ImageIcon(sjjeditor.MainFrame.class.getResource(
"openFile.png"));
ImageIcon image2 = new ImageIcon(sjjeditor.MainFrame.class.getResource(
"closeFile.png"));
ImageIcon image3 = new ImageIcon(sjjeditor.MainFrame.class.getResource(
"help.png"));
JLabel statusBar = new JLabel();
JMenuItem jMenuFileNew = new JMenuItem();
JMenuItem jMenuFileOpen = new JMenuItem();
JMenuItem jMenuFileSave = new JMenuItem();
JMenuItem jMenuFileSaveAs = new JMenuItem();
JMenuItem jMenuFilePageSet = new JMenuItem();
JMenuItem jMenuFilePrint = new JMenuItem();
JMenu jMenuEdit = new JMenu();
JMenuItem jMenuEditUndo = new JMenuItem();
JMenuItem jMenuEditCut = new JMenuItem();
JMenuItem jMenuEditCopy = new JMenuItem();
JMenuItem jMenuEditPaste = new JMenuItem();
JMenuItem jMenuEditDelete = new JMenuItem();
JMenuItem jMenuEditFind = new JMenuItem();
JMenuItem jMenuEditFindNext = new JMenuItem();
JMenuItem jMenuEditReplace = new JMenuItem();
JMenuItem jMenuEditGoTo = new JMenuItem();
JMenuItem jMenuEditSelectAll = new JMenuItem();
JMenuItem jMenuEditTimeDate = new JMenuItem();
JMenu jMenuFormat = new JMenu();
JMenuItem jMenuFormatFont = new JMenuItem();
JMenu jMenuView = new JMenu();
JMenuItem jMenuHelpSubject = new JMenuItem();
JCheckBoxMenuItem jCheckBoxMenuFormatWrap = new JCheckBoxMenuItem();
JCheckBoxMenuItem jCheckBoxMenuViewStatus = new JCheckBoxMenuItem();
JCheckBoxMenuItem jCheckBoxMenuViewTool = new JCheckBoxMenuItem();
JLabel jlblFileStatus = new JLabel();
JLabel jlblStatusRow = new JLabel();
JLabel jlblStatusCol = new JLabel();
JLabel jlblStatusMode = new JLabel();
JLabel jlblStatusSize = new JLabel();
JPanel pStatus = new JPanel();
PrintTextArea jTextArea1 = new PrintTextArea();
JScrollPane jsp = new JScrollPane(); //为文本框添滚动条
String fns;
String strFind = ""; //要查找的字符串
protected UndoableEditListener undoHandler = new UndoHandler();
boolean beginTextListener, isNewFile;
int FindStartPos = 0;
boolean INSERTMODE = true;
boolean BACKSPACE = false;
JPopupMenu popMenu = new JPopupMenu(); // 弹出菜单
JMenuItem popMenuUndo = new JMenuItem("撤销"); //右键撤销
JMenuItem popMenuCopy = new JMenuItem("复制"); //右键复制
JMenuItem popMenuPaste = new JMenuItem("粘贴"); //右键粘贴
JMenuItem popMenuCut = new JMenuItem("剪贴"); // 右键剪贴
JMenuItem popMenuDel = new JMenuItem("删除"); //右键删除
JMenuItem popMenuSelectAll = new JMenuItem("全选"); //右键全选
JCheckBoxMenuItem popMenuReadOrder = new JCheckBoxMenuItem();
PrinterJob printJob;
public MainFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel)this.getContentPane();
contentPane.setLayout(borderLayout1);
this.getContentPane().setBackground(SystemColor.control);
pStatus.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
this.setLocale(new java.util.Locale("zh", "", ""));
setSize(new Dimension(400, 300));
setTitle("记事本");
this.setVisible(true);
//this.addWindowListener(new MainFrame_this_windowAdapter(this));
this.addWindowListener(new ExitSystem());
jCheckBoxMenuViewTool.setSelected(true);
jMenuEditFindNext.setActionCommand("查找下一个(N)");
statusBar.setForeground(Color.black);
statusBar.setPreferredSize(new Dimension(6, 15));
statusBar.setDisplayedMnemonic('0');
jTextArea1.setFont(new java.awt.Font("宋体", Font.PLAIN, 13));
jTextArea1.setDisabledTextColor(Color.gray);
jlblStatusMode.setPreferredSize(new Dimension(100, 15));
jlblStatusMode.setText("模式:");
jlblStatusSize.setPreferredSize(new Dimension(60, 15));
jlblStatusSize.setToolTipText("");
jlblStatusSize.setText("尺寸:");
pStatus.setPreferredSize(new Dimension(600, 15));
pStatus.setToolTipText("");
jMenuHelpSubject.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.
awt.event.KeyEvent.VK_F1, 0, false));
popMenuUndo.setText("撤销(U)");
popMenuUndo.setMnemonic('U');
popMenuCut.setText("剪贴(T)");
popMenuCut.setMnemonic('T');
popMenuCopy.setText("复制(C)");
popMenuCopy.setMnemonic('C');
popMenuPaste.setText("粘贴(P)");
popMenuPaste.setMnemonic('P');
popMenuDel.setText("删除(D)");
popMenuDel.setMnemonic('D');
popMenuSelectAll.setText("全选(A)");
popMenuSelectAll.setMnemonic('A');
popMenuReadOrder.setText("从右到左的阅读顺序(R)");
popMenuReadOrder.setMnemonic('R');
//添加文本框带滚动条
jsp.getViewport().add(jTextArea1, null);
contentPane.add(jsp, java.awt.BorderLayout.CENTER);
statusBar.setText(" ");
jlblFileStatus.setPreferredSize(new Dimension(300, 15));
jlblFileStatus.setText("状态:");
jlblStatusRow.setPreferredSize(new Dimension(60, 15));
jlblStatusRow.setDisplayedMnemonic('0');
jlblStatusRow.setText("行:");
jlblStatusCol.setPreferredSize(new Dimension(60, 15));
jlblStatusCol.setText("列:");
contentPane.setPreferredSize(new Dimension(450, 70));
jsp.setToolTipText("");
pStatus.setVisible(true);
statusBar.add(pStatus);
//文件菜单
jMenuFile.setText("文件(F)");
jMenuFile.setMnemonic('F');
jMenuFileExit.setText("退出(X)");
jMenuFileExit.setMnemonic('X');
jMenuFileNew.setActionCommand("new");
jMenuFileNew.setText("新建(N)");
jMenuFileNew.setMnemonic('N');
jMenuFileNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.
event.KeyEvent.VK_N, java.awt.ev
评论0
最新资源