IO编程——记事本开发
来源:互联网 发布:新款mac锁屏快捷键 编辑:程序博客网 时间:2024/05/21 12:49
package com.note;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class NotePad extends JFrame implements ActionListener{//定义相关组件JTextArea jta = null;JScrollPane jsp = null;JMenuBar jmb = null;JMenu jm1 = null;JMenu jm2 = null;JMenu jm3 = null;JMenu jm4 = null;JMenu jm5 = null;JMenuItem jmi1 = null;JMenuItem jmi2 = null;JMenuItem jmi3 = null;JMenuItem jmi4 = null;JMenuItem jmi5 = null;public static void main(String[] args) {NotePad np = new NotePad();}//构造函数public NotePad(){jta = new JTextArea();jsp = new JScrollPane(jta);//文本域加入滚动条jmb = new JMenuBar();jm1 = new JMenu("文件(F)");jm1.setMnemonic('F');jm2 = new JMenu("文件(E)");jm2.setMnemonic('E');jm3 = new JMenu("格式(O)");jm3.setMnemonic('O');jm4 = new JMenu("查看(V)");jm4.setMnemonic('V');jm5 = new JMenu("帮助(H)");jm5.setMnemonic('H');jmi1 = new JMenuItem("新建(N)");jmi2 = new JMenuItem("打开(O)");jmi2.addActionListener(this);jmi2.setActionCommand("open");jmi3 = new JMenuItem("保存(S)");jmi3.addActionListener(this);jmi3.setActionCommand("save");this.setJMenuBar(jmb);//加入菜单工具条jmb.add(jm1);jmb.add(jm2);jmb.add(jm3);jmb.add(jm4);jmb.add(jm5);//加入文件菜单项jm1.add(jmi1);jm1.add(jmi2);jm1.add(jmi3);this.add(jsp);//带滚动的文本域this.setTitle("NotePad-Java Version");this.setSize(800, 500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent e) {//选择打开文件if (e.getActionCommand().equals("open")){JFileChooser jfc = new JFileChooser();jfc.setDialogTitle("请选择文件...");jfc.showOpenDialog(null);jfc.setVisible(true);//得到打开文件的绝对路径String filePath = jfc.getSelectedFile().getAbsolutePath();FileReader fr = null;BufferedReader br = null;try {fr = new FileReader(filePath);br = new BufferedReader(fr);//从文件中读取文本并显示到jtaString str = "";String allStr = "";while ((str = br.readLine()) != null){allStr += str+"\r\n";}//显示文本jta.setText(allStr);} catch (Exception e1) {// TODO 自动生成的 catch 块e1.printStackTrace();}finally{try {br.close();fr.close();} catch (Exception e1) {// TODO 自动生成的 catch 块e1.printStackTrace();}}}else if (e.getActionCommand().equals("save")){JFileChooser jfc = new JFileChooser();jfc.setDialogTitle("另存为...");jfc.showSaveDialog(null);jfc.setVisible(true);//得到文件保存的路径String filePath = jfc.getSelectedFile().getAbsolutePath();//写入文件FileWriter fw = null;BufferedWriter bw = null;try {fw = new FileWriter(filePath);bw = new BufferedWriter(fw);//写入文本bw.write(this.jta.getText());} catch (Exception e1) {// TODO 自动生成的 catch 块e1.printStackTrace();}finally{try {bw.close();fw.close(); //FileWriter必须后关闭,否则文件不会正常保存} catch (Exception e1) {// TODO 自动生成的 catch 块e1.printStackTrace();}}}}}
0 0
- IO编程——记事本开发
- 文件IO流应用——开发记事本
- Java图形界面开发—简易记事本
- java学习之io编程(记事本功能实现)
- Java IO编程 学习笔记 (其二:简易记事本)
- Android开发【记事本App】项目开发流程——1
- python GUI编程——wxpython编写简单记事本程序
- GUI界面编程——记事本初级实现
- java入门第一季—记事本开发java.
- 黑马程序员---(学习日记——GUI及IO)流设计实现记事本程序
- Java — 记事本1.0(Java IO 的练习) & 将Javacode -> .exe文件
- 程序—java记事本
- OneNote——随心所欲记事本
- 容器类——记事本
- javaSE基础编程——GUI窗体设计之记事本(使用监听器)
- 编程练习:记事本
- 2helloworld记事本编程
- java编程打开记事本
- SQL Server 2008数据库创建,备份,还原图解及注意点
- GDB 反向调试(Reverse Debugging)
- JAVA课程设计_CSDN博客收集和整理程序_数据库连接类
- Java 一些名词的解释
- IE滤镜
- IO编程——记事本开发
- Failed to save the updated manifest to the file "Debug\ex07_1.exe.embed.man
- WebService CXF学习(进阶篇3):CXF整合Spring框架
- keybd_event使用方法
- linux查看CPU信息
- cocos2d-x 源码分析 : control 源码分析 ( 控制类组件 controlButton)
- 图像检索中为什么仍用BOW和LSH
- Python机器学习(一)--Numpy基础
- 排序法之冒泡排序