📄 multipageeditor.java
字号:
/*
* MultiPageEditor.java
*
* Created on 2007年10月22日, 上午11:22
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package multipageeditor;
/**
*
* @author linda
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Dimension.*;
import java.io.*;
import java.awt.BorderLayout;
import java.util.*;
public class MultiPageEditor extends JFrame {
JMenuBar jMenuBar1 = new JMenuBar();//菜单栏
JMenu mnuFile = new JMenu();//“文件”菜单
JMenuItem mnuNew = new JMenuItem();
JMenuItem mnuOpen = new JMenuItem();
JMenuItem mnuCloseCurrentTabPage = new JMenuItem();
JMenuItem mnuCloseAll = new JMenuItem();
JMenuItem mnuSave = new JMenuItem();
JMenuItem mnuSaveAll = new JMenuItem();
JMenuItem mnuSaveAs = new JMenuItem();
JMenuItem mnuExit = new JMenuItem();
JMenu mnuEdit = new JMenu();//“编辑”菜单
JMenuItem mnuUndo = new JMenuItem();
JMenuItem mnuRedo = new JMenuItem();
JMenuItem mnuCut = new JMenuItem();
JMenuItem mnuCopy = new JMenuItem();
JMenuItem mnuPaste = new JMenuItem();
JMenuItem mnuSelectAll = new JMenuItem();
JMenuItem mnuClear = new JMenuItem();
JMenu mnuStyle = new JMenu();//“格式”菜单
JMenuItem mnuFont = new JMenuItem();
JMenuItem mnuFontColor = new JMenuItem();
JMenuItem mnuBackColor = new JMenuItem();
JMenu mnuInsert = new JMenu();//“插入”菜单
JMenuItem mnuInsertDateTime = new JMenuItem();
JMenu mnuLook = new JMenu();//“查看”菜单
JCheckBoxMenuItem mnuStatus = new JCheckBoxMenuItem();
JMenu mnuLookAndFeel = new JMenu();
JMenuItem mnuMetal = new JMenuItem();
JMenuItem mnuCDE = new JMenuItem();
JMenuItem mnuWindowsXP = new JMenuItem();
JMenuItem mnuWindowsClass = new JMenuItem();
JMenu mnuHelp = new JMenu();//“帮助”菜单
JMenuItem mnuAbout = new JMenuItem();
JToolBar jToolBar1 = new JToolBar();//工具栏
JButton btnNew = new JButton();
JButton btnOpen = new JButton();
JButton btnSave = new JButton();
JButton btnCut = new JButton();
JButton btnCopy = new JButton();
JButton btnPaste = new JButton();
JButton btnUndo = new JButton();
JButton btnRedo = new JButton();
JButton btnCloseCurrentTabPage = new JButton();
JButton btnFont = new JButton();
JButton btnFontColor = new JButton();
JButton btnDateTime = new JButton();
JButton btnAbout = new JButton();
JLabel lblStatus = new JLabel();
JTabbedPane TabControl = new JTabbedPane();
public MultiPageEditor(){//构造方法
try {
mainFrameInit();//主窗口初始化
lblStatus.setText("正在初始化图标.....");
initIcon();//初始化图标
lblStatus.setText("正在初始化Tab编辑页");
initPage();//初始化Tab编辑页
this.setSize(800, 600);
this.setLocationByPlatform(true);
this.setVisible(true);//显示主窗口
lblStatus.setText("准备就绪");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void initPage() {//初始化Tab编辑页
if (strFile != null) {//有参数时打开指定文件
try {
File file = new File(strFile);
Open(strFile, file.getName());
}
catch (Exception ex) {
System.out.println(ex.toString());
}
}
else {//无参数时创建新的Tab编辑页
NewPage();
}
}
ActionListener item_Click=new ActionListener() {
public void actionPerformed(ActionEvent event) {
String filename=((JMenuItem)event.getSource()).getText();
File file=new File(filename);
if(file.exists()) {
Open(filename,file.getName());
setTabPage();
}
}
};
//设置图标
private void initIcon() {
this.mnuAbout.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/About.png")));
this.mnuNew.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/New.png")));
this.mnuOpen.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Open.png")));
this.mnuSave.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Save.png")));
this.mnuSaveAll.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/SaveAll.png")));
this.mnuUndo.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Undo.png")));
this.mnuRedo.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Redo.png")));
this.mnuCut.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Cut.png")));
this.mnuCopy.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Copy.png")));
this.mnuPaste.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Paste.png")));
this.mnuClear.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Delete.png")));
this.mnuFont.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Font.png")));
this.mnuFontColor.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/FontColor.png")));
this.mnuBackColor.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/BackColor.png")));
this.mnuCloseCurrentTabPage.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/ClosedSelectdPage.gif")));
this.mnuCloseAll.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/ClosedAll.gif")));
this.mnuExit.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Exit.gif")));
this.mnuInsertDateTime.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/InsertDate.png")));
this.btnNew.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/NewL.png")));
this.btnOpen.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/OpenL.png")));
this.btnSave.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/SaveL.png")));
this.btnCut.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/CutL.png")));
this.btnCopy.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/CopyL.png")));
this.btnPaste.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/PasteL.png")));
this.btnUndo.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/UndoL.png")));
this.btnRedo.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/RedoL.png")));
this.btnFont.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/Font.png")));
this.btnFontColor.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/FontColor.png")));
this.btnDateTime.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/InsertDate.png")));
this.btnAbout.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/AboutL.png")));
this.btnCloseCurrentTabPage.setIcon(new ImageIcon(MultiPageEditor.class
.getResource("ICON/CloseSelectTabPageL.png")));
}
//设置名称和快捷键
private void mainFrameInit() throws Exception {
this.setJMenuBar(jMenuBar1);
this.setTitle("多页文本编辑器");
this.addWindowListener(new MultiPageEditor_this_windowAdapter(this));
mnuFile.setText("文件(F)");
mnuFile.setMnemonic('F');
mnuNew.setText("新建(N)");
mnuNew.setMnemonic('N');
mnuNew.addActionListener(new MultiPageEditor_mnuNew_actionAdapter(this));
mnuOpen.setText("打开(O)");
mnuOpen.setMnemonic('O');
mnuOpen.addActionListener(new MultiPageEditor_mnuOpen_actionAdapter(this));
mnuCloseCurrentTabPage.setMnemonic('C');
mnuCloseCurrentTabPage.setText("关闭当前页(C)");
mnuCloseCurrentTabPage.addActionListener(new
MultiPageEditor_mnuCloseCurrentTabPage_actionAdapter(this));
mnuCloseAll.setMnemonic('B');
mnuCloseAll.setText("全部关闭(B)");
mnuCloseAll.addActionListener(new
MultiPageEditor_mnuCloseAll_actionAdapter(this));
mnuSave.setText("保存(S)");
mnuSave.setMnemonic('S');
mnuSave.addActionListener(new MultiPageEditor_mnuSave_actionAdapter(this));
mnuSaveAll.setMnemonic('A');
mnuSaveAll.setText("全部保存(A)");
mnuSaveAll.addActionListener(new MultiPageEditor_mnuSaveAll_actionAdapter(this));
mnuSaveAs.setMnemonic('L');
mnuSaveAs.setText("另存为(L)");
mnuSaveAs.addActionListener(new MultiPageEditor_mnuSaveAs_actionAdapter(this));
mnuExit.setMnemonic('X');
mnuExit.setText("退出(X)");
mnuExit.addActionListener(new MultiPageEditor_mnuExit_actionAdapter(this));
mnuEdit.setText("编辑(E)");
mnuEdit.setMnemonic('E');
mnuUndo.setMnemonic('U');
mnuUndo.setText("撤销 (U)");
mnuUndo.addActionListener(new MultiPageEditor_mnuUndo_actionAdapter(this));
mnuRedo.setMnemonic('R');
mnuRedo.setText("重做(R)");
mnuRedo.addActionListener(new MultiPageEditor_mnuRedo_actionAdapter(this));
mnuCut.setMnemonic('T');
mnuCut.setText("剪切(T)");
mnuCut.addActionListener(new MultiPageEditor_mnuCut_actionAdapter(this));
mnuCopy.setMnemonic('C');
mnuCopy.setText("复制(C)");
mnuCopy.addActionListener(new MultiPageEditor_mnuCopy_actionAdapter(this));
mnuPaste.setMnemonic('P');
mnuPaste.setText("粘贴(P)");
mnuPaste.addActionListener(new MultiPageEditor_mnuPaste_actionAdapter(this));
mnuSelectAll.setMnemonic('S');
mnuSelectAll.setText("全选(S)");
mnuSelectAll.addActionListener(new
MultiPageEditor_mnuSelectAll_actionAdapter(this));
mnuClear.setMnemonic('L');
mnuClear.setText("全部清空 (L)");
mnuClear.addActionListener(new MultiPageEditor_mnuClear_actionAdapter(this));
mnuStyle.setMnemonic('S');
mnuStyle.setText("格式(S)");
mnuFont.setMnemonic('F');
mnuFont.setText("字体(F)");
mnuFont.addActionListener(new MultiPageEditor_mnuFont_actionAdapter(this));
mnuFontColor.setMnemonic('C');
mnuFontColor.setText("字体颜色(C)");
mnuFontColor.addActionListener(new
MultiPageEditor_mnuFontColor_actionAdapter(this));
mnuBackColor.setMnemonic('B');
mnuBackColor.setText("背景颜色(B)");
mnuBackColor.addActionListener(new
MultiPageEditor_mnuBackColor_actionAdapter(this));
mnuInsert.setMnemonic('I');
mnuInsert.setText("插入(I)");
mnuInsertDateTime.setMnemonic('D');
mnuInsertDateTime.setText("插入日期/时间(D)");
mnuInsertDateTime.addActionListener(new
MultiPageEditor_mnuInsertDateTime_actionAdapter(this));
mnuLook.setMnemonic('L');
mnuLook.setText("查看(L)");
mnuStatus.setMnemonic('S');
mnuStatus.setText("状态栏(S)");
mnuStatus.setSelected(true);
mnuStatus.addActionListener(new MultiPageEditor_mnuStatus_actionAdapter(this));
mnuLookAndFeel.setMnemonic('F');
mnuLookAndFeel.setText("外观(F)");
mnuMetal.setMnemonic('M');
mnuMetal.setText("Java默认外观Metal(M)");
mnuMetal.addActionListener(new MultiPageEditor_mnuMetal_actionAdapter(this));
mnuCDE.setMnemonic('C');
mnuCDE.setText("Java CDE/Motif外观(C)");
mnuCDE.addActionListener(new MultiPageEditor_mnuCDE_actionAdapter(this));
mnuWindowsXP.setMnemonic('X');
mnuWindowsXP.setText("WindowsXP外观(X)");
mnuWindowsXP.addActionListener(new
MultiPageEditor_mnuWindowsXP_actionAdapter(this));
mnuWindowsClass.setMnemonic('S');
mnuWindowsClass.setText("Windows经典外观(S)");
mnuWindowsClass.addActionListener(new
MultiPageEditor_mnuWindowsClass_actionAdapter(this));
mnuHelp.setText("帮助(H)");
mnuHelp.setMnemonic('H');
mnuAbout.setText("关于 (A)");
mnuAbout.setMnemonic('A');
mnuAbout.addActionListener(new MultiPageEditor_mnuAbout_actionAdapter(this));
lblStatus.setMaximumSize(new Dimension(41, 22));
lblStatus.setMinimumSize(new Dimension(41, 22));
lblStatus.setPreferredSize(new Dimension(41, 22));
jToolBar1.setDebugGraphicsOptions(DebugGraphics.NONE_OPTION);
btnNew.setToolTipText("新建文本文档");
btnNew.addActionListener(new MultiPageEditor_btnNew_actionAdapter(this));
btnOpen.setToolTipText("打开文件");
btnOpen.addActionListener(new MultiPageEditor_btnOpen_actionAdapter(this));
btnSave.setToolTipText("保存当前页的文件");
btnSave.addActionListener(new MultiPageEditor_btnSave_actionAdapter(this));
btnCut.setToolTipText("剪切 ");
btnCut.addActionListener(new MultiPageEditor_btnCut_actionAdapter(this));
btnCopy.setToolTipText("复制");
btnCopy.addActionListener(new MultiPageEditor_btnCopy_actionAdapter(this));
btnPaste.setToolTipText("粘贴");
btnPaste.addActionListener(new MultiPageEditor_btnPaste_actionAdapter(this));
btnUndo.setToolTipText("撤销");
btnUndo.addActionListener(new MultiPageEditor_btnUndo_actionAdapter(this));
btnRedo.setToolTipText("重做");
btnRedo.addActionListener(new MultiPageEditor_btnRedo_actionAdapter(this));
btnCloseCurrentTabPage.addActionListener(new
MultiPageEditor_btnCloseCurrentTabPage_actionAdapter(this));
btnCloseCurrentTabPage.setToolTipText("关闭当前页");
btnFont.setToolTipText("设置选中文字的字体");
btnFont.addActionListener(new MultiPageEditor_btnFont_actionAdapter(this));
btnFontColor.setToolTipText("设置选中文本的颜色");
btnFontColor.addActionListener(new
MultiPageEditor_btnFontColor_actionAdapter( this));
btnDateTime.setToolTipText("插入日期/时间");
btnDateTime.addActionListener(new
MultiPageEditor_btnDateTime_actionAdapter(this));
btnAbout.setToolTipText("关于本程序");
btnAbout.addActionListener(new MultiPageEditor_btnAbout_actionAdapter(this));
jMenuBar1.add(mnuFile);
jMenuBar1.add(mnuEdit);
jMenuBar1.add(mnuStyle);
jMenuBar1.add(mnuInsert);
jMenuBar1.add(mnuLook);
jMenuBar1.add(mnuHelp);
mnuFile.add(mnuNew);
mnuFile.add(mnuOpen);
mnuFile.addSeparator();
mnuFile.add(mnuCloseCurrentTabPage);
mnuFile.add(mnuCloseAll);
mnuFile.addSeparator();
mnuFile.add(mnuSave);
mnuFile.add(mnuSaveAll);
mnuFile.add(mnuSaveAs);
mnuFile.addSeparator();
mnuFile.add(mnuExit);
mnuEdit.add(mnuUndo);
mnuEdit.add(mnuRedo);
mnuEdit.addSeparator();
mnuEdit.add(mnuCut);
mnuEdit.add(mnuCopy);
mnuEdit.add(mnuPaste);
mnuEdit.addSeparator();
mnuEdit.add(mnuSelectAll);
mnuEdit.add(mnuClear);
mnuStyle.add(mnuFont);
mnuStyle.addSeparator();
mnuStyle.add(mnuFontColor);
mnuStyle.addSeparator();
mnuStyle.add(mnuBackColor);
mnuInsert.add(mnuInsertDateTime);
mnuLook.add(mnuStatus);
mnuLook.add(mnuLookAndFeel);
mnuLookAndFeel.add(mnuMetal);
mnuLookAndFeel.add(mnuCDE);
mnuLookAndFeel.add(mnuWindowsXP);
mnuLookAndFeel.add(mnuWindowsClass);
mnuHelp.add(mnuAbout);
jToolBar1.add(btnNew);
jToolBar1.add(btnOpen);
jToolBar1.add(btnSave);
jToolBar1.addSeparator();
jToolBar1.add(btnCut);
jToolBar1.add(btnCopy);
jToolBar1.add(btnPaste);
jToolBar1.addSeparator();
jToolBar1.add(btnUndo);
jToolBar1.add(btnRedo);
jToolBar1.addSeparator();
jToolBar1.add(btnCloseCurrentTabPage);
jToolBar1.addSeparator();
jToolBar1.add(btnFont);
jToolBar1.add(btnFontColor);
jToolBar1.addSeparator();
jToolBar1.add(btnDateTime);
jToolBar1.addSeparator();
jToolBar1.add(btnAbout);
this.getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
this.getContentPane().add(TabControl, java.awt.BorderLayout.CENTER);
this.getContentPane().add(lblStatus, java.awt.BorderLayout.SOUTH);
}
static public void main(String[] args) {//主方法
if (args.length > 0) {// 有参数传入
strFile = args[0];
}
MultiPageEditor frame = new MultiPageEditor();//创建实例
}
/***************************************************************************
* 变量区
**************************************************************************/
private static String strFile = null;
//Tab编辑页的数量
private int PageCount = 1;
// 界面外观
private LookAndFell guiLook = LookAndFell.System;
// 标签位置
private TabPosion tabposion = TabPosion.Top;
// 枚举外观
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -