本文实例为大家分享了Java开发简易记事本的具体代码,供大家参考,具体内容如下
public class NotePad extends JFrame implements ActionListener{
//定义需要的组件
JTextArea jta=null; //多行文本框
JMenuBar jmb=null; //菜单条
JMenu jm1=null; //菜单
JMenuItem jmi1=null,jmi2=null; //菜单项
public static void main(String[] args) {
NotePad np=new NotePad();
}
public NotePad(){ //构造函数
jta=new JTextArea(); //创建jta
jmb=new JMenuBar();
jm1=new JMenu("文件");
jm1.setMnemonic('F'); //设置助记符
jmi1=new JMenuItem("打开",new ImageIcon("imag_3.jpg"));
jmi1.addActionListener(this); //注册监听
jmi1.setActionCommand("open");
jmi2=new JMenuItem("保存");
jmi2.addActionListener(this);
jmi2.setActionCommand("save");
this.setJMenuBar(jmb); //加入
jmb.add(jm1); //把菜单放入菜单条
jm1.add(jmi1); //把item放入到Menu中
jm1.add(jmi2);
this.add(jta); //放入到JFrame
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,300);
this.setTitle("记事本");
this.setIconImage((new ImageIcon("imag_2.jpg")).getImage());
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent arg0) {
//判断是哪个菜单被选中
if(arg0.getActionCommand().equals("open")){
//JFileChooser,创建一个文件选择组件
JFileChooser jfc1=new JFileChooser();
jfc1.setDialogTitle("请选择文件……"); //设置名字
jfc1.showOpenDialog(null); //默认方式
jfc1.setVisible(true); //显示
//得到用户选择的文件全路径
String filename=jfc1.getSelectedFile().getAbsolutePath();
FileReader fr=null;
BufferedReader br=null;
try {
fr=new FileReader(filename);
br=new BufferedReader(fr);
//从文件中读取信息并显示到jta
String s="";
String allCon="";
while((s=br.readLine())!=null){ //循环读取文件,s不为空即还未读完毕
allCon+=s+"\r\n";
}
jta.setText(allCon); //放置到jta
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
fr.close();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}else if(arg0.getActionCommand().equals("save")){
//出现保存对话框
JFileChooser jfc2=new JFileChooser();
jfc2.setDialogTitle("另存为……");
jfc2.showSaveDialog(null); //按默认的方式显示
jfc2.setVisible(true);
//得到用户希望把文件保存到何处,文件全路径
String filename2=jfc2.getSelectedFile().getAbsolutePath();
//准备写入到指定文件
FileWriter fw=null;
BufferedWriter bw=null;
try {
fw=new FileWriter(filename2);
bw=new BufferedWriter(fw);
bw.write(this.jta.getText());
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
运行效果如下
点击文件按钮,点击打开菜单项,选择一个文本文件,效果如下:
打开后,内容显示如下:
对内容稍作修改,另存为名为sss的文件,效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Java
# 记事本
# Java仿Windows记事本源代码分享
# java仿windows记事本功能完整版
# Java实现记事本功能
# Java运用SWT插件编写桌面记事本应用程序
# Java实现的简易记事本
# 使用Java制作一个简单的记事本
# 简单记事本java源码实例
# Java Web使用简单的批处理操作(记事本+Tomcat)
# 怎么运行用记事本写的java程序
# java仿windows记事本小程序
# 另存为
# 菜单项
# 还未
# 请选择
# 大家分享
# 对话框
# 创建一个
# 具体内容
# 大家多多
# 文本文件
# 为空
# 稍作
# 是哪个
# setMnemonic
# setSize
# 助记符
# ImageIcon
# main
# void
# String
相关文章:
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
定制建站策划方案_专业建站与网站建设方案一站式指南
用v-html解决Vue.js渲染中html标签不被解析的问题
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
定制建站是什么?如何实现个性化需求?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
如何快速查询网址的建站时间与历史轨迹?
如何快速搭建高效可靠的建站解决方案?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
C++如何使用std::optional?(处理可选值)
购物网站制作公司有哪些,哪个购物网站比较好?
如何在阿里云完成域名注册与建站?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
如何在香港服务器上快速搭建免备案网站?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
制作网站怎么制作,*游戏网站怎么搭建?
内部网站制作流程,如何建立公司内部网站?
青岛网站建设如何选择本地服务器?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
临沂网站制作企业,临沂第三中学官方网站?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
建站之星如何实现PC+手机+微信网站五合一建站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
建设网站制作价格,怎样建立自己的公司网站?
如何在建站之星网店版论坛获取技术支持?
c# 服务器GC和工作站GC的区别和设置
,如何利用word制作宣传手册?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
宿州网站制作公司兴策,安徽省低保查询网站?
Bpmn 2.0的XML文件怎么画流程图
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
如何在Windows 2008云服务器安全搭建网站?
网站制作难吗安全吗,做一个网站需要多久时间?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
建站之星多图banner生成与模板自定义指南
网站设计制作公司地址,网站建设比较好的公司都有哪些?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
开心动漫网站制作软件下载,十分开心动画为何停播?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
音响网站制作视频教程,隆霸音响官方网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
建站之星如何一键生成手机站?
建站主机与虚拟主机有何区别?如何选择最优方案?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
文字头像制作网站推荐软件,醒图能自动配文字吗?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何在阿里云高效完成企业建站全流程?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
高端云建站费用究竟需要多少预算?
*请认真填写需求信息,我们会在24小时内与您取得联系。