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

📄 frmmain.java

📁 多页文本编辑器(MulitPageEditor) 本程序是我学java一个星期后写的第一个程序,程序是很俗气的了,但是自我觉的还写的不错,呵呵,就拿出来共享一下,整个框架还是不错滴,有学习的价值,由
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
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 + -