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

📄 mainframe.java

📁 用JAVA做的小记事本系统
💻 JAVA
字号:
//MainFrame:构建主窗体

import java.awt.*;
import javax.swing.*;
import java.io.*;

public class MainFrame extends JFrame implements Serializable{
	
	//菜单栏成员变量
	File file=null;
	JMenuBar mb;	
	
	JMenu fileMenu;
	JMenuItem newFile;
	JMenuItem openFile;
	JMenuItem saveFile;
	JMenuItem saveAs;
	JMenuItem exitPrg;
	
	JMenu editMenu;
	JMenuItem cutText;
	JMenuItem copyText;
	JMenuItem pasteText;
	
	JMenu formatMenu;
	JMenuItem fontOption;
	JMenuItem alignLeft;		
	JMenuItem alignCenter;		
	JMenuItem alignRight;		
	JMenuItem styleBold;		
	JMenuItem styleItalic;		
	JMenuItem stylePlain;
	
	JMenu helpMenu;
	JMenuItem about;
	
	
	//工具栏成员变量	
	
	JToolBar tb; 
	ToolButton bNewFile;
	ToolButton bOpenFile;
	ToolButton bSaveFile;
	ToolButton bCut;
	ToolButton bCopy;
	ToolButton bPaste;
	ToolButton bExit;
	
	
	//文本编辑区成员变量
	
	JTextPane tp;
	JScrollPane spOfTextArea;
	
	Font defaultFont = new Font("Times New Roman",Font.PLAIN,16);
	
	
	//创建监听器对象
	
	FileHandle fh = new FileHandle(this);
	
	EditHandle eh = new EditHandle(this);
	
	FormatHandle fmh = new FormatHandle(this);
	
	HelpHandle hh = new HelpHandle(this);

	
	
	//构造方法建立主窗口
	public MainFrame(){
		
		Container c = this.getContentPane();
		
		this.buildMenu();
		this.buildToolBar();
		this.buildTextArea();
		
		this.setJMenuBar(mb);
		
		c.add(tb,BorderLayout.NORTH);		
		c.add(spOfTextArea,BorderLayout.CENTER);		
		
		
		this.setTitle("我的记事本");
		this.setBounds(200,200,600,400);
		this.setVisible(true);
		
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	
	//建立菜单栏
	public void buildMenu(){
		
		mb = new JMenuBar();
		
		mb.setOpaque(true); //设置工具栏可见
		
		fileMenu = buildFileMenu();
		editMenu = buildEditMenu();
		formatMenu = buildFormatMenu();
		helpMenu = buildHelpMenu();
				
		mb.add(fileMenu);
		mb.add(editMenu);
		mb.add(formatMenu);
		mb.add(helpMenu);						
	}
	
	
	//建立工具栏
	public void buildToolBar(){
		
		tb = new JToolBar();
		
		tb.setFloatable(false);
		
		ImageIcon iconNewFile = new ImageIcon("imgs/8.gif");
		bNewFile = new ToolButton("新建",iconNewFile);
		tb.add(bNewFile);
				
		ImageIcon iconOpenFile = new ImageIcon("imgs/9.gif");		
		bOpenFile = new ToolButton("打开",iconOpenFile);
		tb.add(bOpenFile);
		
		ImageIcon iconSaveFile = new ImageIcon("imgs/10.gif");		
		bSaveFile = new ToolButton("保存",iconSaveFile);
		tb.add(bSaveFile);		
		
		tb.addSeparator();
		
		ImageIcon iconCut = new ImageIcon("imgs/11.gif");
		bCut = new ToolButton("剪切",iconCut);
		tb.add(bCut);
		
		ImageIcon iconCopy = new ImageIcon("imgs/12.gif");
		bCopy = new ToolButton("复制",iconCopy);
		tb.add(bCopy);
		
		ImageIcon iconPaste = new ImageIcon("imgs/13.gif");
		bPaste = new ToolButton("粘贴",iconPaste);
		tb.add(bPaste);
		
		tb.addSeparator();
		
		ImageIcon iconExit = new ImageIcon("imgs/14.gif");
		bExit = new ToolButton("退出",iconExit);
		tb.add(bExit);
		
		//为工具栏按钮注册监听器
		bNewFile.addActionListener(fh);
		bOpenFile.addActionListener(fh);
		bSaveFile.addActionListener(fh);
		
		bCut.addActionListener(eh);
		bCopy.addActionListener(eh);
		bPaste.addActionListener(eh);
		
		bExit.addActionListener(fh);	
	}
	
	
	//建立文本编辑区
	public void buildTextArea(){
		
		tp = new JTextPane();
		
		spOfTextArea = new JScrollPane(tp);
		
		tp.setFont(defaultFont);
		
	}
	
	//建立文件菜单
	public JMenu buildFileMenu(){
		
		JMenu fileMenu = new JMenu("文件(F)");		
		
		newFile = new JMenuItem("新建");
		
		openFile = new JMenuItem("打开");
		
		saveFile = new JMenuItem("保存");
		
		saveAs = new JMenuItem("另存为");
		
		exitPrg = new JMenuItem("退出");
		
		
		fileMenu.setMnemonic('F');
		
		fileMenu.add(newFile);
		fileMenu.add(openFile);
		fileMenu.add(saveFile);
		fileMenu.add(saveAs);
		
		fileMenu.addSeparator();
		
		fileMenu.add(exitPrg);
		
		//注册文件菜单项上的监听器
		newFile.addActionListener(fh);
		openFile.addActionListener(fh);
		saveFile.addActionListener(fh);
		saveAs.addActionListener(fh);
				
		exitPrg.addActionListener(fh);					
		
		return fileMenu;
				
	}
	
	
	
	//建立编辑菜单
	public JMenu buildEditMenu(){
		
		JMenu editMenu = new JMenu("编辑(E)");
		
		editMenu.setMnemonic('E');
		
		
		cutText = new JMenuItem("剪切");
		
		copyText = new JMenuItem("复制");
		
		pasteText = new JMenuItem("粘贴");
		
		editMenu.add(cutText);
		editMenu.add(copyText);
		editMenu.add(pasteText);		
		
		//注册编辑菜单项上的监听器		
		
		cutText.addActionListener(eh);
		copyText.addActionListener(eh);
		pasteText.addActionListener(eh);		
		
		return editMenu;
						
	}
	
	
	//建立格式菜单
	public JMenu buildFormatMenu()
	{
		
		JMenu formatMenu = new JMenu("格式(O)");
		
		formatMenu.setMnemonic('O');
		
		fontOption = new JMenuItem("字体");
		
		alignLeft = new JMenuItem("左对齐");
		
		alignCenter = new JMenuItem("居中对齐");
		
		alignRight = new JMenuItem("右对齐");
		
		styleBold = new JMenuItem("加粗");
		
		styleItalic = new JMenuItem("斜体");
		
		stylePlain = new JMenuItem("无特殊样式");		
		
		formatMenu.add(fontOption);
		
		formatMenu.addSeparator();
		
		formatMenu.add(alignLeft);
		formatMenu.add(alignCenter);
		formatMenu.add(alignRight);
		
		formatMenu.addSeparator();
		
		formatMenu.add(styleBold);
		formatMenu.add(styleItalic);				
		formatMenu.add(stylePlain);
		
		//格式菜单项注册监听器
		fontOption.addActionListener(fmh);
		
		alignLeft.addActionListener(fmh);
		alignCenter.addActionListener(fmh);
		alignRight.addActionListener(fmh);
		
		styleBold.addActionListener(fmh);
		styleItalic.addActionListener(fmh);
		stylePlain.addActionListener(fmh);
		
		return formatMenu;						
	}
	
	
	//建立帮助菜单
	public JMenu buildHelpMenu(){
		
		JMenu helpMenu = new JMenu("帮助(H)");
		
		helpMenu.setMnemonic('H');
		
		about = new JMenuItem("About");
		
		helpMenu.add(about);
		
		about.addActionListener(hh);
		
		return helpMenu;
	}
	
}
	

⌨️ 快捷键说明

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