Java简单记事本
来源:互联网 发布:炫舞炸家族邀请软件 编辑:程序博客网 时间:2024/05/17 08:48
javaGUI编程、事件监听、JFileChooser组件相关知识
/** * 功能:记事本 * 日期:2017.2.13 */package com.testFile;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;import javax.swing.*;public class Txt extends JFrame implements ActionListener{ //定义需要的组件 JTextArea jta=null; //菜单条 JMenuBar jmb=null; //第一JMenu JMenu jm1; //菜单下的目录 JMenuItem jmi1,jmi2,jmi3; //文件路径 String filename; public static void main(String[] args) { // TODO Auto-generated method stub Txt t=new Txt(); } //构造函数 public Txt() { //创建jta,文本空间 jta=new JTextArea(); //菜单条 jmb=new JMenuBar(); //第一JMenu jm1=new JMenu("文件(F)"); jm1.setMnemonic('f'); //菜单下的目录 jmi1=new JMenuItem("打开"); //注册监听(事件监听者为本类) jmi1.addActionListener(this); //设置此组件激发的操作事件的名称 jmi1.setActionCommand("open"); jmi2=new JMenuItem("保存"); //注册监听 jmi2.addActionListener(this); //设置此组件激发的操作事件的名称 jmi2.setActionCommand("save"); jmi3=new JMenuItem("另存为"); //注册监听 jmi3.addActionListener(this); //设置此组件激发的操作事件的名称 jmi3.setActionCommand("save as"); //添加组件 //输入面板 this.add(jta); //添加菜单条 this.setJMenuBar(jmb); //添加第一个菜单 jmb.add(jm1); //添加菜单下拉 jm1.add(jmi1); jm1.add(jmi2); jm1.add(jmi3); this.setTitle("记事本"); this.setSize(600, 450); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //判断是哪个菜单被选中 if(e.getActionCommand().equals("open")) {// System.out.println("open"); /** * 隆重给大家推荐JFileChooser组件 * */ //文件选择组件 JFileChooser jfc1=new JFileChooser(); //设置名字 jfc1.setDialogTitle("请选择文件....."); //默认方式 jfc1.showOpenDialog(null); //显示 jfc1.setVisible(true); //的到用户选择的路径 filename=jfc1.getSelectedFile().getAbsolutePath(); //读取文件并显示 FileReader fr=null; BufferedReader br=null; try { fr=new FileReader(filename); br=new BufferedReader(fr); //逐行读取到的字符串 String s=""; //最后的字符串 String allcon=""; //循环读取,读完则为空 while((s=br.readLine())!=null) { allcon+=s+"\r\n"; } //将读取到的字符串显示在JTextArea jta.setText(allcon); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); }finally { try { fr.close(); br.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } else if(e.getActionCommand().equals("save")) { //如果按下的是保存按钮 FileWriter fw=null; BufferedWriter bw=null; try { fw=new FileWriter(filename); bw=new BufferedWriter(fw); //需要保存的字符 String lastcon=jta.getText(); //System.out.println(lastcon); bw.write(lastcon); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }finally { try { //刷新该流的缓冲 fw.flush(); bw.flush(); fw.close(); bw.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } else if(e.getActionCommand().equals("save as")) { //如果按下的键是另存为 //文件选择组件 JFileChooser jfc2=new JFileChooser(); //设置标题 jfc2.setDialogTitle("另存为..."); //默认方式 jfc2.showSaveDialog(null); //显示 jfc2.setVisible(true); //获得保存路径 String file=jfc2.getSelectedFile().getAbsolutePath(); //保存文件 FileWriter fw=null; BufferedWriter bw=null; try { fw=new FileWriter(file); bw=new BufferedWriter(fw); bw.write(this.jta.getText()); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); }finally { try { //刷新该流的缓冲。 fw.flush(); bw.flush(); //关闭该流前先刷新该流的缓存,否则就会抛出异常 fw.close(); bw.close(); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }}
阅读全文
0 0
- 简单的Java记事本
- java开发简单记事本
- Java简单记事本实现
- java简单记事本
- java简单的记事本
- JAVA--简单记事本
- Java简单记事本
- [Java] BufferedReader/BufferedWriter 简单记事本
- java编写一个简单记事本
- JAVA之记事本开发简单Java程序
- 大学JAVA实验四 简单计算器、记事本
- java实现的简单记事本程序
- 一个简单的java记事本程序
- 基于JAVA的简单界面设计:记事本
- 基于JAVA的简单界面设计:记事本
- 简单记事本程序java源码项目
- Java的Swing实现一个简单记事本
- 用java实现简单记事本的编写
- properties使用变量
- Android监听前后台切换展示开屏广告
- flv.js的用法与说明总结
- JDBC之使用懒汉式单例创建JDBC工具类
- 栈与堆
- Java简单记事本
- 相亲对象判别基于K-近邻算法
- Python 3.6 由于lxml依赖关系, 导入docx或python-docx失败的问题
- OpenCV中feature2D学习——SIFT和SURF算子实现特征点提取与匹配
- 如何踏上人工智能之路(机器学习篇)
- python web service
- JPA是什么?怎样开发JPA应用?
- c++之指针,引用,const
- Dialog(对话框)