java简单记事本代码_Java实现的简易记事本
本文实例讲述了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实现的简易记事本相关推荐
- java简单通讯录代码_java使用线性表写一个简单的通讯录系统
全部代码: import java.util.Scanner; class Contact { String cellPhone; String name; } public class Main { ...
- java简单工厂模式_Java 简单工厂模式
Java 简单工厂模式 2014-05-28·WeaponX 3717 次浏览 ## 介绍 简单工厂模式又称静态工厂模式. 简单工厂模式由工厂类角色.抽象产品角色和具体产品角色组成. 工厂类角色是本模 ...
- java创建线程代码_Java创建与结束线程代码示例
本文讲述了在Java中如何创建和结束线程的最基本方法,只针对于Java初学者.一些高级知识如线程同步.调度.线程池等内容将会在后续章节中逐步深入. 创建线程 创建普通线程有两种方式,继承Thread类 ...
- 求java简单计算器源代码_java简单计算器源代码
简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout ...
- java 生产者消费者代码_Java生产者和消费者代码
java 生产者消费者代码 This also helps us to understand the concept of synchronised multi-threading in java, ...
- python做一个记事本_python如何自制一个简易记事本?
如何使用Tkinter在Python中创建一个简单的记事本呢.这个记事本GUI将包含各种菜单,如文件和编辑,使用它们可以完成保存文件,打开文件,编辑,剪切和粘贴等所有功能.使用此代码,我们将在记事本的 ...
- java简单小程序_Java简易登录注册小程序
这篇文章主要介绍了Java图形界面开发,简易登录注册小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的 ...
- java猜拳游戏代码_Java实现简单猜拳游戏
本文实例为大家分享了java实现简单猜拳游戏的具体代码,供大家参考,具体内容如下 看网上的猜拳游戏那么多,但都是用switch输入数字,所以用if嵌套,写一个简单的猜拳游戏 package game; ...
- java简单文本编译器_java -简易文本编辑器
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; /** * Title:java ...
- java简单小项目_Java简易抽奖系统小项目
本文实例为大家分享了Java简易抽奖系统的具体代码,供大家参考,具体内容如下 需求: 实现一个抽奖系统 1 注册 2 登录 3 抽奖 必须先注册 再登陆 再抽奖 随机产生4个随机数作为幸运卡号 用 ...
最新文章
- JDK线程池的ThreadFactory
- Windows Server 2008 R2 活动目录服务部署 (一)
- [备忘]几种即见即所得Web编辑器优缺点比较
- android自动更新列表,Android数据库表结构自动升级
- sitecore系列教程之如何以编程方式将访客数据关联到联系人卡片
- DDD理论学习系列(9)-- 领域事件
- [剑指offer]面试题23:从上往下打印二叉树
- elasticearch 安装
- 代码编辑器横评:为什么 VS Code 能拔得头筹?| 程序员硬核评测
- java加载失败是什么原因_这个加载失败是什么问题呢
- python怎么读写文件-一文看懂Python文件的读取写入操作,建议收藏-bak文件怎么打开...
- NHibernate教程(14)--使用视图
- 基本概念(名词解释)
- 考试系统分析对比考试系统哪个好
- 对计算机专业学科的认识1000字,计算机专业1000字实习报告
- 我的第一个C语言:用点阵显示出我的名字拼音首字母。
- 创联网络宽带上网助手的脱壳
- 干货分享!软考中高项案例分析10大管理领域理论背诵要点
- 图扑税务信息化系统管理平台,构建项目管理“一张网”
- 阿里云服务器web项目启动连接mysql_eclipse web项目部署到阿里云服务器
热门文章
- php时间戳转换英文格式日期_php把时间戳转换成英文格式
- sketchup生成面域插件_适用于Revit / SketchUp / Rhino / ArchiCAD插件最新版
- Brocade 光纤交换机保存配置
- PHP正则JSESSIONID,会话状态保持,JSESSIONID,COOKIE,URL重写
- 用计算机弹极乐净土谱,极乐净土计算器谱子
- c语言二级考试题库及答案,c语言二级考试题库
- XM7 FOR ANDROID,[转]2014年初Android平台主机模拟器大全
- python标准库6张思维导图学明白
- IT基础架构变革,Hitachi Vantara如何解决超融合(HCI)的真正痛点?
- fontForge开源字体定制工具