`
十三月的
  • 浏览: 168872 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

记事本1.0

阅读更多

记事本1.01.01.0

 

 

 

 

package cn325;

import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class NotePad extends JFrame implements ActionListener {

	/**
	 *
	 * @param args
	 */
	private JMenuBar jmb;
	private JMenu menu1, menu2, menu3, menu4, menu5;
	private JMenuItem jmi1, jmi2, jmi3, jmi4, jmi5, jmi6, jmi7;
	private JToolBar jtb;
	private JToolBar jtb1;
	private JLabel jl;
	private JButton bu1, bu2, bu3, bu4, bu5;
	private JTextArea jta;
	private JScrollPane jsp;

	// 构造函数 用来初始化
	public NotePad() {
		// 初始化
		jmb = new JMenuBar();// 菜单栏

		menu1 = new JMenu("文件F");// 各个菜单
       //设置助记符
		menu1.setMnemonic('F');
		menu2 = new JMenu("编辑E");
		menu3 = new JMenu("格式O");
		menu4 = new JMenu("查看V");
		menu5 = new JMenu("帮助H");


		// 菜单项

		jmi1 = new JMenuItem("新建 (N)     Ctrl+N",new ImageIcon("image\\打开.jpg"));

		jmi1.addActionListener(this);// 添加监听
		jmi1.setActionCommand("新建");// 设置监听的命令
		jmi2 = new JMenuItem("打开 (O)     Ctrl+O",new ImageIcon("image\\打开.jpg"));
		jmi2.addActionListener(this);
		jmi2.setActionCommand("打开");
		jmi3 = new JMenuItem("保存 (S)     Ctro+S",new ImageIcon("image\\打开.jpg"));
		jmi3.addActionListener(this);
		jmi3.setActionCommand("保存");
		jmi4 = new JMenuItem("另存为(A)         ",new ImageIcon("image\\打开.jpg"));
		jmi4.addActionListener(this);
		jmi4.setActionCommand("另存为");
		jmi5 = new JMenuItem("页面设置                             ");
		jmi6 = new JMenuItem("打印 (P)     Ctrl+P");
		jmi7 = new JMenuItem("退出 (X)           ");
		jmi7.addActionListener(this);
		jmi7.setActionCommand("退出");

		// 工具栏
		jtb = new JToolBar();
		jl = new JLabel(new ImageIcon("image/JPanel.jpg"));
		jtb1 = new JToolBar();
		jtb1.add(jl);
		// 不可移动
		jtb.setFloatable(false);
		jtb1.setFloatable(false);
		// 按钮
		bu1 = new JButton("打开");
		bu1.setToolTipText("用来打开文件");
		bu1.addActionListener(this);
		bu1.setActionCommand("打开");
		bu2 = new JButton("保存");
		bu2.setToolTipText("保存到当前文件中");
		bu3 = new JButton("剪切");
	    bu3.setToolTipText("剪切选中到剪切板");
		bu4 = new JButton("复制");
	    bu4.setToolTipText("复制选中到剪切板");
		bu5 = new JButton("粘贴");
		bu5.setToolTipText("粘贴剪切板中的内容到当前文件");
		// 多行文本输入框
		jta = new JTextArea();
		// 滚动条
		jsp = new JScrollPane(jta);

		// 菜单栏添加菜单项
		jmb.add(menu1);
		jmb.add(menu2);
		jmb.add(menu3);
		jmb.add(menu4);
		jmb.add(menu5);
		// 将菜单项添加到菜单
		menu1.add(jmi1);
		menu1.add(jmi2);
		menu1.add(jmi3);
		menu1.add(jmi4);
		menu1.addSeparator();
		menu1.add(jmi5);
		menu1.add(jmi5);
		menu1.addSeparator();
		menu1.add(jmi6);
		menu1.add(jmi7);

		// 工具栏添加按钮
		jtb.add(bu1);
		jtb.add(bu2);
		jtb.add(bu3);
		jtb.add(bu4);

		this.setJMenuBar(jmb);
		this.add(jtb, BorderLayout.NORTH);
		this.add(jsp, BorderLayout.CENTER);
		this.add(jtb1, BorderLayout.SOUTH);

		// 设置基本属性
		this.setTitle("我 的 记 事 本 ");//设置名字
		this.setSize(600, 500);//设置大小
		this.setLocationRelativeTo(null);//设置出现位置  居中
		this.setCursor(Cursor.getPredefinedCursor(HAND_CURSOR));//设置当鼠标移动到此处时为手型
		this.setIconImage(new  ImageIcon("image\\张杰.jpg").getImage());
		this.setDefaultCloseOperation(3);
		this.setVisible(true);

	}

	public static void main(String[] args) {
		NotePad nb = new NotePad();
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// 判断
        if(e.getActionCommand().equals("新建")){
           jta.setText(null);
        }
        else if (e.getActionCommand().equals("打开")) {
			// 文件选择窗体
			JFileChooser fc1 = new JFileChooser();
			// 设置名字 此举要在显示对话框设置为默认属性前
			 fc1.setDialogTitle("打开文件");
			//创建文件选择器对象
			 FileNameExtensionFilter  filter=new  FileNameExtensionFilter("文本文件(*.txt)", "txt");
			 //添加文件过滤器
			 fc1.setFileFilter(filter);
			// 显示出来
			fc1.setVisible(true);
			//定义一个返回的值
			int returnVal=fc1.showOpenDialog(null);
			//如果选中了文件  就进行下一步
			if( returnVal==JFileChooser.APPROVE_OPTION ){
			// 获得选中的文件的全路径
			String filepath = fc1.getSelectedFile().getAbsolutePath();
			// 创建字符输出流对象
			FileReader fr = null;
			BufferedReader br = null;
			try {
				// 初始化输出流对象
				fr = new FileReader(filepath);
				br = new BufferedReader(fr);
				String s = "";
				String allCon = null;
				while ((s = br.readLine()) != null) {
					allCon += s + "\r\n";
				}
				jta.setText(allCon);

			} catch (Exception e1) {

				e1.printStackTrace();
			} finally {
				try {
					br.close();
					fr.close();
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
			}
		} else if (e.getActionCommand().equals("另存为")) {
			// 创建一个文件选择窗体
			JFileChooser fc2 = new JFileChooser();
			// 设置显示的对话框的名字
			fc2.setDialogTitle("另存为");
			//创建文件选择器对象
			 FileNameExtensionFilter  filter=new  FileNameExtensionFilter(null, ".txt");
			 //添加文件过滤器
			 fc2.setFileFilter(filter);
			// 设置可见
			fc2.setVisible(true);
			//定义一个返回的值
			int returnVal=fc2.showSaveDialog(null);
			//如果选中了文件  就进行下一步
			if(returnVal==JFileChooser.APPROVE_OPTION){
			//取得选中文件的绝对路径
			String filepath = fc2.getSelectedFile().getAbsolutePath();
			// 创建字符流输出对象
			FileWriter fw = null;
			BufferedWriter bw = null;

			try {
				fw = new FileWriter(filepath);
				bw = new BufferedWriter(fw);

				bw.write(jta.getText());
			} catch (IOException e1) {
				e1.printStackTrace();
			} finally {
                    try {
						bw.close();
						fw.close();
					} catch (IOException e1) {
						e1.printStackTrace();
					}

			}

		}

	} else  if(e.getActionCommand().equals("退出")){
		System.exit(0);
	}
	}
}

 

 

代码可能有点烂,还没有将一些组件重写,进行简单封装,只是将基本的组件写到同一个类中。

  • 大小: 62 KB
  • 大小: 57.7 KB
  • 大小: 78.2 KB
分享到:
评论

相关推荐

    Memo记事本 1.0.1.0

    《Memo记事本 1.0.1.0:打造高效便捷的文本管理工具》 在信息化时代,人们日常工作中需要处理的信息量日益庞大,如何有效地管理这些信息变得至关重要。 Memo 记事本 1.0.1.0 正是这样一款针对这一需求而设计的增强...

    【原创】记事本1.0.0.39

    【原创】记事本1.0.0.39是一款由独立开发者xiefi于2014年1月25日发布的免费绿色软件。这款记事本工具不同于常见的操作系统自带的记事本程序,它提供了更为实用的功能,并且特别强调了其无须安装和无任何限制的特点,...

    天网联盟专用记事本 1.0绿色版

    "天网联盟专用记事本 1.0绿色版" 是一个专为天网联盟设计的文本编辑工具,它的出现旨在提供一个美观且实用的记录平台,帮助用户在Windows操作系统中方便地处理日常的文本编辑任务。作为一个轻量级的应用程序,这个...

    破解者记事本1.0.exe

    破解者记事本1.0.exe我也不知道这是什么东东,就是想收藏。

    JS+HTM自制挂历记事本1.0

    【JS+HTM自制挂历记事本1.0】是一款集成了挂历和记事功能的个人管理工具,同时也包含了一个简易的个人播放器,旨在帮助用户方便地记录日常生活中的重要事项,规划时间,并享受音乐。这款应用充分利用了JavaScript...

    Nancy系列之-记事本1.0

    《Nancy系列之-记事本1.0》是一款基于MFC(Microsoft Foundation Classes)库开发的简单记事本程序,旨在模仿Windows操作系统内置的记事本功能,为用户提供便捷的文字编辑体验。在这个项目中,我们将深入探讨MFC库、...

    记事本1.0 工程:WIN32 SDK

    标题中的“记事本1.0 工程:WIN32 SDK”指的是一个基于Windows API开发的简单文本编辑器项目,使用的是Windows SDK(Software Development Kit)。Windows SDK为开发者提供了编写Windows应用程序所需的头文件、库...

    仿Windows记事本1.0版 源码

    仿Windows记事本1.0版 源码 仿windows做的记事本,很好看 待解决的问题: 1、查找时,如果保持查找窗口的活动状态,则编辑框的选择文本无法显示选择标记; 2、替换文本之后,无法使用TextBox和Undo撤消更改。 3、...

    加密记事本1.0

    记事本1.0是一款非常小巧实用的加密记事本软件,无需安装,下载后可直接使用。它采用了特定的算法和编码对文本内容进行了加密,不仅具有 windows 记事本的全部功能而且还具有顶级的加密功能,让您隐私内容的安全性...

    小狐狸记事本1.0

    一款加强型记事本,自制,360会报毒【无毒,不会窃取资料和破坏电脑,但是不强求下载】。

    杰佳多功能记事本1.0绿色免费版

    杰佳多功能记事本(电脑记事本软件)是一款绿色免费的由杰佳软件工作室制作的的记事本软件。软件功能强大,功能不仅限于记事本,还集成了系统常用的命令于一体,是各行业都适用的电脑记事本软件。 杰佳多功能记事本...

    MMMXX简易记事本 1.0.rar

    本源码是一个基于CS模式开发的一个简易的记事本,模仿系统自带的记事本程序,可以实现基本的txt文档的编辑、保存、另存为、字体的更换等等功能,是初学者的一个很好范例,可以作为课程设计使用。主要功能:1、文件:...

    自制mini小记事本1.0 jar

    功能非常的有限,只实现了打开文件和保存文件的功能 主要是练习I/O里的BufferedReader,PrintWriter,和事件处理:监听,绑定,以及actionPerformed JAR程序,源码都附上,源码自己加上包名即可。...

    Nancy系列-记事本1.0版

    模仿windows自带记事本使用MFC编写,简单,快捷!

    童话多功能记事本1.0正式版

    本人创作的第一记事本程序 由于第一次创作 功能少了点 2个…… 嘿嘿 也勉强多功能吧 另外 BUG可能存在 有的话请发送报道至943183575@qq.com 我的QQ邮箱 谢谢了 以后还会做更新的版本的 敬请大家期待 快下载吧!...

    Fly记事本1.0版本 C#记事本源码-附件资源

    Fly记事本1.0版本 C#记事本源码-附件资源

    广优简易记事本 1.0

    "广优简易记事本 1.0"是一款专注于简单记事功能的应用程序,它提供了高效的方式来管理和跟踪各种事项。这款软件的核心特性包括系统编号、处理情况、事件状态、开始时间、剩余时间、事件地址以及事件说明等关键信息,...

Global site tag (gtag.js) - Google Analytics