本文实例讲述了Java实现的简易记事本。分享给大家供大家参考。具体如下:

感觉这个没有自己以前用Windows API写的好看了。。。

JDK Version : 1.7.0

效果如下图所示:

源代码如下:

import java.io.*;

import java.awt.*;

import java.awt.event.*;

/**

* The Main Window

* @author Neo Smith

*/

class PadFrame extends Frame

{

private MenuBar mb;

private Menu menuFile;

private Menu menuEdit;

private MenuItem[] miFile;

private TextArea ta;

final private Frame frame = this;

/**

* The inner class

* Message Handle

*/

class EventExit implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

System.exit(0);

}

}

class SystemExit extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

class EventMenuClose implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

ta.setText(null);

}

}

class EventOpenFile implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

//Create the OpenFile Dialog

FileDialog dlg = new FileDialog(frame,"Open Files",FileDialog.LOAD);

dlg.show();

String strPath;

if((strPath = dlg.getDirectory()) != null)

{

//get the full path of the selected file

strPath += dlg.getFile();

//open the file

try

{

FileInputStream fis = new FileInputStream(strPath);

BufferedInputStream bis = new BufferedInputStream(fis);

byte[] buf = new byte[3000];

int len = bis.read(buf);

ta.append(new String(buf,0,len));

bis.close();

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

}

}

/**

* Construction Method

* Adding Menu and TextArea components

* @param strTitle

*/

public PadFrame(String strTitle)

{

super(strTitle);

this.setLocation(400,200);

this.setSize(900, 630);

//Create the Menu Bar

mb = new MenuBar();

menuFile = new Menu("File");

menuEdit = new Menu("Edit");

miFile = new MenuItem[]{new MenuItem("Open"),new MenuItem("Close"),new MenuItem("Exit")};

this.setMenuBar(mb);

mb.add(menuFile);

mb.add(menuEdit);

for(int i = 0 ; i < miFile.length ; ++i)

{

menuFile.add(miFile[i]);

}

//Add event handle

setMenuEventHandle(new EventExit(),"File",2);

setMenuEventHandle(new EventOpenFile(),"File",0);

setMenuEventHandle(new EventMenuClose(),"File",1);

this.addWindowListener(new SystemExit());

//add the TextArea component

ta = new TextArea(30,30);

this.add(ta);

}

public void setMenuEventHandle(ActionListener al,String strMenu,int index)

{

if(strMenu == "File")

{

miFile[index].addActionListener(al);

}

}

public int getMenuItemAmount(String strMenu)

{

if("File" == strMenu)

{

return miFile.length;

}

return -1;

}

public static void main(String[] args)

{

PadFrame f = new PadFrame("NotePad");

f.show();

}

}

希望本文所述对大家的java程序设计有所帮助。

java简单记事本代码_Java实现的简易记事本相关推荐

  1. java简单通讯录代码_java使用线性表写一个简单的通讯录系统

    全部代码: import java.util.Scanner; class Contact { String cellPhone; String name; } public class Main { ...

  2. java简单工厂模式_Java 简单工厂模式

    Java 简单工厂模式 2014-05-28·WeaponX 3717 次浏览 ## 介绍 简单工厂模式又称静态工厂模式. 简单工厂模式由工厂类角色.抽象产品角色和具体产品角色组成. 工厂类角色是本模 ...

  3. java创建线程代码_Java创建与结束线程代码示例

    本文讲述了在Java中如何创建和结束线程的最基本方法,只针对于Java初学者.一些高级知识如线程同步.调度.线程池等内容将会在后续章节中逐步深入. 创建线程 创建普通线程有两种方式,继承Thread类 ...

  4. 求java简单计算器源代码_java简单计算器源代码

    简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout ...

  5. java 生产者消费者代码_Java生产者和消费者代码

    java 生产者消费者代码 This also helps us to understand the concept of synchronised multi-threading in java, ...

  6. python做一个记事本_python如何自制一个简易记事本?

    如何使用Tkinter在Python中创建一个简单的记事本呢.这个记事本GUI将包含各种菜单,如文件和编辑,使用它们可以完成保存文件,打开文件,编辑,剪切和粘贴等所有功能.使用此代码,我们将在记事本的 ...

  7. java简单小程序_Java简易登录注册小程序

    这篇文章主要介绍了Java图形界面开发,简易登录注册小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的 ...

  8. java猜拳游戏代码_Java实现简单猜拳游戏

    本文实例为大家分享了java实现简单猜拳游戏的具体代码,供大家参考,具体内容如下 看网上的猜拳游戏那么多,但都是用switch输入数字,所以用if嵌套,写一个简单的猜拳游戏 package game; ...

  9. java简单文本编译器_java -简易文本编辑器

    import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; /** * Title:java ...

  10. java简单小项目_Java简易抽奖系统小项目

    本文实例为大家分享了Java简易抽奖系统的具体代码,供大家参考,具体内容如下 需求: 实现一个抽奖系统 1 注册 2 登录 3 抽奖 必须先注册  再登陆  再抽奖 随机产生4个随机数作为幸运卡号 用 ...

最新文章

  1. JDK线程池的ThreadFactory
  2. Windows Server 2008 R2 活动目录服务部署 (一)
  3. [备忘]几种即见即所得Web编辑器优缺点比较
  4. android自动更新列表,Android数据库表结构自动升级
  5. sitecore系列教程之如何以编程方式将访客数据关联到联系人卡片
  6. DDD理论学习系列(9)-- 领域事件
  7. [剑指offer]面试题23:从上往下打印二叉树
  8. elasticearch 安装
  9. 代码编辑器横评:为什么 VS Code 能拔得头筹?| 程序员硬核评测
  10. java加载失败是什么原因_这个加载失败是什么问题呢
  11. python怎么读写文件-一文看懂Python文件的读取写入操作,建议收藏-bak文件怎么打开...
  12. NHibernate教程(14)--使用视图
  13. 基本概念(名词解释)
  14. 考试系统分析对比考试系统哪个好
  15. 对计算机专业学科的认识1000字,计算机专业1000字实习报告
  16. 我的第一个C语言:用点阵显示出我的名字拼音首字母。
  17. 创联网络宽带上网助手的脱壳
  18. 干货分享!软考中高项案例分析10大管理领域理论背诵要点
  19. 图扑税务信息化系统管理平台,构建项目管理“一张网”
  20. 阿里云服务器web项目启动连接mysql_eclipse web项目部署到阿里云服务器

热门文章

  1. php时间戳转换英文格式日期_php把时间戳转换成英文格式
  2. sketchup生成面域插件_适用于Revit / SketchUp / Rhino / ArchiCAD插件最新版
  3. Brocade 光纤交换机保存配置
  4. PHP正则JSESSIONID,会话状态保持,JSESSIONID,COOKIE,URL重写
  5. 用计算机弹极乐净土谱,极乐净土计算器谱子
  6. c语言二级考试题库及答案,c语言二级考试题库
  7. XM7 FOR ANDROID,[转]2014年初Android平台主机模拟器大全
  8. python标准库6张思维导图学明白
  9. IT基础架构变革,Hitachi Vantara如何解决超融合(HCI)的真正痛点?
  10. fontForge开源字体定制工具