📄 frmmain.java
字号:
package MulitePageEditor;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Dimension.*;
import java.io.*;
import java.awt.BorderLayout;
import java.util.*;
/*******************************************************************************
* <p>
* Title: 多页编辑器
* </p>
*
* <p>
* Description: 编辑器主窗体
* </p>
*
* <p>
* Copyright: Copyright (c) 2006-2008
* </p>
*
* <p>
* Company: 雨轩工作室
* </p>
*
* @author 风中过客
* @version V1.0
*
*
* /**************************************************************************
* 如何把别人做的jar库文件打包进自己的jar文件中 直接包含好像不行,不知道怎么弄,真是麻烦,C#直接复制过去
* 就可以使用.这样岂不是有些功能不能使用.没办法的话只好不用了 不过一定是能的,只是我还不知道而已.
*
* 风中过客
******************************************************************************/
public class frmMain extends JFrame
{
public frmMain()
{
try
{
jbInit();
lblStatus.setText("正在初始化图标.....");
initIcon();
lblStatus.setText("正在初始化Tab编辑页");
initPage();
this.setSize(800, 600);
this.setLocationByPlatform(true);
this.setVisible(true);
lblStatus.setText("准备就绪");
} catch (Exception ex)
{
ex.printStackTrace();
}
}
private void initPage()
{
if (strFile != null)
{
try
{
File file = new File(strFile);
Open(strFile, file.getName());
} catch (Exception ex)
{
System.out.println(ex.toString());
}
} else
{
NewPage();
}
}
private void initOpendFile()
{
ReaderClass.ReadHistoryClass reader=new ReaderClass().new ReadHistoryClass();
if(reader.isFileExits())
{
openedFileList=reader.ReadHistory();
if(openedFileList!=null)
{
for(String str:openedFileList)
{
initOpenedFuleMenuItem(str);
}
}
}
}
private class readHistoryThread extends Thread
{
public void run()
{
initOpendFile();
}
}
private void initOpenedFuleMenuItem(String filename)
{
JMenuItem item=new JMenuItem();
item.setText(filename);
item.addActionListener(item_Click);
this.mnuOpendFile.add(item);
}
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.mnuFile.setMnemonic(KeyEvent.VK_F);
// this.mnuHelp.setMnemonic(KeyEvent.VK_H);
this.mnuAbout.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/About.png")));
// mnuAbout.setMnemonic(KeyEvent.VK_F1); /*如何设置快捷键*/
// mnuAbout.set
this.mnuNew.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/New.png")));
// mnuNew.setMnemonic(KeyEvent.VK_N);
this.mnuOpen.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Open.png")));
// mnuOpen.setMnemonic(KeyEvent.VK_O);
this.mnuSave.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Save.png")));
this.mnuSaveAll.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/SaveAll.png")));
// mnuSave.setMnemonic(KeyEvent.VK_S);
// this.mnuSaveAs.setIcon(new ImageIcon(frmMain.class
// .getResource("ICON/Save.png")));
// this.mnuSaveAll.setIcon(new ImageIcon(frmMain.class
// .getResource("ICON/Save.png")));
this.mnuPrint.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Print.png")));
this.mnuPageSetup.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Print.png")));
this.mnuPrintPrev.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/PrintPrev.png")));
// this.mnuExit.setIcon(new
// ImageIcon(frmMain.class.getResource("ICON/Exit.ico")));
this.mnuUndo.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Undo.png")));
this.mnuRedo.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Redo.png")));
this.mnuCut.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Cut.png")));
this.mnuCopy.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Copy.png")));
this.mnuPaste.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Paste.png")));
this.mnuFind.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Find.png")));
// this.mnuSwap.setIcon(new
// ImageIcon(frmMain.class.getResource("ICON/CutL.png")));
// this.mnuSelectAll.setIcon(new
// ImageIcon(frmMain.class.getResource("ICON/CutL.png")));
this.mnuClear.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Delete.png")));
this.mnuFont.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Font.png")));
this.mnuFontColor.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/FontColor.png")));
// this.mnuBackColor.setIcon(new
// ImageIcon(frmMain.class.getResource("ICON/FontColor.gif")));
// this.mnuInsertDateTime.setIcon(new
// ImageIcon(frmMain.class.getResource("ICON/FontColor.gif")));
this.mnuBackColor.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/BackColor.png")));
mnuCloseCurrentTabPage.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/ClosedSelectdPage.gif")));
mnuCloseAll.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/ClosedAll.gif")));
this.mnuExit.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Exit.gif")));
this.mnuInsertDateTime.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/InsertDate.png")));
/** ****************************************************************************************************** */
this.btnNew.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/NewL.png")));
this.btnOpen.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/OpenL.png")));
this.btnSave.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/SaveL.png")));
this.btnPrint.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/PrintL.png")));
this.btnPrintPrev.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/PrintPrevL.png")));
this.btnFind.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/FindL.png")));
this.btnCut.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/CutL.png")));
this.btnCopy.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/CopyL.png")));
this.btnPaste.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/PasteL.png")));
this.btnUndo.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/UndoL.png")));
this.btnRedo.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/RedoL.png")));
this.btnFont.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/Font.png")));
this.btnFontColor.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/FontColor.png")));
this.btnDateTime.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/InsertDate.png")));
this.btnAbout.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/AboutL.png")));
// javax.swing.JSeparator
this.btnCloseCurrentTabPage.setIcon(new ImageIcon(frmMain.class
.getResource("ICON/CloseSelectTabPageL.png")));
}
private void jbInit() throws Exception
{
this.setJMenuBar(jMenuBar1);
this.setTitle("多页文本编辑器");
this.addWindowListener(new frmMain_this_windowAdapter(this));
mnuFile.setText("文件(F)");
mnuNew.setInputVerifier(null);
mnuNew.setMnemonic('0');
mnuNew.setText("新建(N)");
mnuNew.addActionListener(new frmMain_mnuNew_actionAdapter(this));
mnuOpen.setText("打开(O)");
mnuOpen.addActionListener(new frmMain_jMenuItem2_actionAdapter(this));
mnuHelp.setText("帮助(H)");
mnuAbout.setMnemonic('A');
mnuAbout.setText("关于 (A)");
mnuAbout.addActionListener(new frmMain_mnuAbout_actionAdapter(this));
mnuEdit.setMnemonic('E');
mnuEdit.setText("编辑(E)");
lblStatus.setMaximumSize(new Dimension(41, 22));
lblStatus.setMinimumSize(new Dimension(41, 22));
lblStatus.setPreferredSize(new Dimension(41, 22));
lblStatus.setText("jLabel1");
jToolBar1.setDebugGraphicsOptions(DebugGraphics.NONE_OPTION);
btnOpen.setToolTipText("打开文件");
btnOpen.setIcon(null);
btnOpen.setSelectedIcon(null);
btnOpen.addActionListener(new frmMain_btnOpen_actionAdapter(this));
mnuSave.setText("保存(S)");
mnuSave.addActionListener(new frmMain_mnuSave_actionAdapter(this));
mnuSaveAs.setMnemonic('L');
mnuSaveAs.setText("另存为(L)");
mnuSaveAs.addActionListener(new frmMain_mnuSaveAs_actionAdapter(this));
mnuPrint.setMnemonic('P');
mnuPrint.setText("打印(P)");
mnuPrint.addActionListener(new frmMain_mnuPrint_actionAdapter(this));
mnuPrintPrev.setMnemonic('V');
mnuPrintPrev.setText("打印预览(V)");
mnuPrintPrev.addActionListener(new frmMain_mnuPrintPrev_actionAdapter(
this));
mnuPageSetup.setMnemonic('G');
mnuPageSetup.setText("页面设置(G)");
mnuPageSetup.addActionListener(new frmMain_mnuPageSetup_actionAdapter(
this));
mnuExit.setMnemonic('Q');
mnuExit.setText("退出(Q)");
mnuExit.addActionListener(new frmMain_mnuExit_actionAdapter(this));
mnuUndo.setMnemonic('U');
mnuUndo.setText("撤销 (U)");
mnuUndo.addActionListener(new frmMain_mnuUndo_actionAdapter(this));
mnuRedo.setMnemonic('R');
mnuRedo.setText("重做(R)");
mnuRedo.addActionListener(new frmMain_mnuRedo_actionAdapter(this));
mnuCut.setMnemonic('T');
mnuCut.setText("剪切(T)");
mnuCut.addActionListener(new frmMain_mnuCut_actionAdapter(this));
mnuCopy.setMnemonic('C');
mnuCopy.setText("复制(C)");
mnuCopy.addActionListener(new frmMain_mnuCopy_actionAdapter(this));
mnuPaste.setMnemonic('P');
mnuPaste.setText("粘贴(P)");
mnuPaste.addActionListener(new frmMain_mnuPaste_actionAdapter(this));
mnuFind.setMnemonic('F');
mnuFind.setText("查找(F)");
mnuFind.addActionListener(new frmMain_mnuFind_actionAdapter(this));
mnuSwap.setMnemonic('W');
mnuSwap.setText("替换(W)");
mnuSwap.addActionListener(new frmMain_mnuSwap_actionAdapter(this));
mnuSelectAll.setMnemonic('S');
mnuSelectAll.setText("全选(S)");
mnuSelectAll.addActionListener(new frmMain_mnuSelectAll_actionAdapter(
this));
mnuClear.setMnemonic('L');
mnuClear.setText("全部清空 (L)");
mnuClear.addActionListener(new frmMain_mnuClear_actionAdapter(this));
mnuStyle.setMnemonic('S');
mnuStyle.setText("格式(S)");
mnuFont.setMnemonic('F');
mnuFont.setText("字体(F)");
mnuFont.addActionListener(new frmMain_mnuFont_actionAdapter(this));
mnuFontColor.setMnemonic('C');
mnuFontColor.setText("字体颜色(C)");
mnuFontColor.addActionListener(new frmMain_mnuFontColor_actionAdapter(
this));
mnuBackColor.setMnemonic('B');
mnuBackColor.setText("背景颜色(B)");
mnuBackColor.addActionListener(new frmMain_mnuBackColor_actionAdapter(
this));
mnuLook.setMnemonic('L');
mnuLook.setText("查看(L)");
mnuStause.setText("状态栏(S)");
mnuStause.addActionListener(new frmMain_mnuStause_actionAdapter(this));
mnuLookAndFeel.setMnemonic('F');
mnuLookAndFeel.setText("外观(F)");
mnuBorland.setMnemonic('B');
mnuBorland.setText("Borland的外观(B)");
mnuBorland
.addActionListener(new frmMain_mnuBorland_actionAdapter(this));
mnuMetal.setMnemonic('M');
mnuMetal.setText("Java默认外观Metal(M)");
mnuMetal.addActionListener(new frmMain_mnuMetal_actionAdapter(this));
mnuCDE.setMnemonic('C');
mnuCDE.setText("Java CDE/Motif外观(C)");
mnuCDE.addActionListener(new frmMain_mnuCDE_actionAdapter(this));
mnuWindowsXP.setMnemonic('X');
mnuWindowsXP.setText("WindowsXP外观(X)");
mnuWindowsXP.addActionListener(new frmMain_mnuWindowsXP_actionAdapter(
this));
mnuWindowsClass.setMnemonic('S');
mnuWindowsClass.setText("Windows经典外观(S)");
mnuWindowsClass
.addActionListener(new frmMain_mnuWindowsClass_actionAdapter(
this));
btnNew.setToolTipText("新建文本文档");
btnNew.addActionListener(new frmMain_btnNew_actionAdapter(this));
btnPrint.setToolTipText("打印当前文档");
btnPrint.addActionListener(new frmMain_btnPrint_actionAdapter(this));
btnPrintPrev.setToolTipText("预览当前文档");
btnPrintPrev.addActionListener(new frmMain_btnPrintPrev_actionAdapter(
this));
btnFind.setToolTipText("查找");
btnFind.addActionListener(new frmMain_btnFind_actionAdapter(this));
btnCut.setToolTipText("剪切 ");
btnCut.addActionListener(new frmMain_btnCut_actionAdapter(this));
btnCopy.setToolTipText("复制");
btnCopy.addActionListener(new frmMain_btnCopy_actionAdapter(this));
btnPaste.setToolTipText("粘贴");
btnPaste.addActionListener(new frmMain_btnPaste_actionAdapter(this));
btnSave.setToolTipText("保存当前页的文件");
btnSave.addActionListener(new frmMain_btnSave_actionAdapter(this));
btnUndo.setToolTipText("撤销");
btnUndo.addActionListener(new frmMain_btnUndo_actionAdapter(this));
btnRedo.setToolTipText("重做");
btnRedo.addActionListener(new frmMain_btnRedo_actionAdapter(this));
btnDateTime.setToolTipText("插入日期/时间");
btnDateTime.addActionListener(new frmMain_btnDateTime_actionAdapter(
this));
btnAbout.setToolTipText("关于本程序");
btnAbout.addActionListener(new frmMain_btnAbout_actionAdapter(this));
btnFontColor.setToolTipText("设置选中文本的颜色");
btnFontColor.addActionListener(new frmMain_btnFontColor_actionAdapter(
this));
btnFont.setToolTipText("设置选中文字的字体");
btnFont.addActionListener(new frmMain_btnFont_actionAdapter(this));
mnuInsert.setMnemonic('I');
mnuInsert.setText("插入(I)");
mnuInsertDateTime.setMnemonic('D');
mnuInsertDateTime.setText("插入日期/时间(D)");
mnuInsertDateTime
.addActionListener(new frmMain_mnuInsertDateTime_actionAdapter(
this));
mnuSaveAll.setMnemonic('A');
mnuSaveAll.setText("全部保存(A)");
mnuSaveAll
.addActionListener(new frmMain_mnuSaveAll_actionAdapter(this));
btnCloseCurrentTabPage
.addActionListener(new frmMain_btnCloseCurrentTabPage_actionAdapter(
this));
btnCloseCurrentTabPage.setToolTipText("关闭当前页");
mnuCloseCurrentTabPage.setMnemonic('C');
mnuCloseCurrentTabPage.setText("关闭当前页(C)");
mnuCloseCurrentTabPage
.addActionListener(new frmMain_mnuCloseCurrentTabPage_actionAdapter(
this));
mnuCloseAll.setMnemonic('B');
mnuCloseAll.setText("全部关闭(B)");
mnuCloseAll.addActionListener(new frmMain_mnuCloseAll_actionAdapter(
this));
mnuOpendFile.setText("打开过的文件");
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(mnuPageSetup);
mnuFile.add(mnuPrintPrev);
mnuFile.add(mnuPrint);
mnuFile.addSeparator();
mnuFile.add(mnuOpendFile);
///
mnuFile.add(mnuExit);
mnuHelp.add(mnuAbout);
jToolBar1.add(btnNew);
jToolBar1.add(btnOpen);
jToolBar1.add(btnSave);
// jToolBar1.add(new JSeparator());
jToolBar1.addSeparator();
jToolBar1.add(btnPrint);
jToolBar1.add(btnPrintPrev);
jToolBar1.addSeparator();
jToolBar1.add(btnFind);
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);
mnuEdit.add(mnuUndo);
mnuEdit.add(mnuRedo);
mnuEdit.addSeparator();
mnuEdit.add(mnuCut);
mnuEdit.add(mnuCopy);
mnuEdit.add(mnuPaste);
mnuEdit.addSeparator();
mnuEdit.add(mnuFind);
mnuEdit.add(mnuSwap);
mnuEdit.addSeparator();
mnuEdit.add(mnuSelectAll);
mnuEdit.add(mnuClear);
mnuStyle.add(mnuFont);
mnuStyle.addSeparator();
mnuStyle.add(mnuFontColor);
mnuStyle.add(mnuBackColor);
mnuLook.add(mnuStause);
mnuLook.add(mnuLookAndFeel);
mnuLookAndFeel.add(mnuMetal);
mnuLookAndFeel.add(mnuCDE);
mnuLookAndFeel.add(mnuBorland);
mnuLookAndFeel.add(mnuWindowsXP);
mnuLookAndFeel.add(mnuWindowsClass);
this.getContentPane().add(TabControl, java.awt.BorderLayout.CENTER);
this.getContentPane().add(lblStatus, java.awt.BorderLayout.SOUTH);
this.getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
mnuInsert.add(mnuInsertDateTime);
mnuStyle.addSeparator();
}
JMenuBar jMenuBar1 = new JMenuBar();
JMenu mnuFile = new JMenu();
JMenuItem mnuNew = new JMenuItem();
JMenuItem mnuOpen = new JMenuItem();
JMenu mnuHelp = new JMenu();
JMenuItem mnuAbout = new JMenuItem();
JMenu mnuEdit = new JMenu();
JToolBar jToolBar1 = new JToolBar();
JLabel lblStatus = new JLabel();
JButton btnOpen = new JButton();
JButton btnSave = new JButton();
JTabbedPane TabControl = new JTabbedPane();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -