用java写一个小的记事本程序
2014-11-16 20:26
387 查看
大三了。大神之路,任重而道远。技术博客的开篇,就是给自己一个任务,我是要成为码神的男人。听说一个好的程序员有三个标准,精通一门语言,掌握面向对象的编程方法,掌握数据库。为了这三个目标而努力。数据结构和算法就我估计得两个月之后才开始接触。现在先学java。嗯。就这样。朝着码神的路一路狂奔。那就先写一个小程序。用java写一个小的记事本程序。下面贴代码。代码里面有注释。
package com.jishiben; //刚开始必须引进程序中必须要用的包 import javax.swing.*; import java.awt.*; import java.io.*; import java.awt.Event; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; //1.1别忘了继承JFrame //2.1现在要开始监听了 public class Jshiben extends JFrame implements ActionListener{ //1.2这里应该要引入开发记事本需要用到的几个组件 JTextArea jta=null; JMenuBar jmb=null; JMenu jm=null; JMenuItem jmi=null; JMenuItem jmi2=null; public static void main(String[] arg){ //1.3构建实例 Jshiben jsb=new Jshiben(); } //1.4建立构造函数 public Jshiben(){ //1,5初始化上面提到的组件 jta=new JTextArea(); jmb=new JMenuBar(); jm=new JMenu("文件(\f)"); jmi=new JMenuItem("打开",new ImageIcon("lufei.jpg")); jmi2=new JMenuItem("保存",new ImageIcon("lufei.jpg")); //注册监听,顺便发个信息给框架,给它说说用户按了哪个键 jmi.addActionListener(this); jmi.setActionCommand("打开"); jmi2.addActionListener(this); jmi2.setActionCommand("保存"); //1.6开始一个个添加组件。 //1.7请注意到添加菜单条并不是用add而是用setJMenuBar this.setJMenuBar(jmb); this.add(jta); jmb.add(jm); //1.8心碎,为什么设置助记符一定要用单引号而用双引号就过不了呢 jm.setMnemonic('f'); jm.add(jmi); jm.add(jmi2); this.setSize(300, 400); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } public void actionPerformed(ActionEvent e) { //监听者的耳朵,这时候就应该接受被监听的人传过来的信息并且开始行动了 if(e.getActionCommand().equals("打开")){ //哈哈,现在可以尽情偷懒因为有jfilechooser这个神组件 JFileChooser jfc=new JFileChooser(); //显示这个组件的打开窗口 jfc.showOpenDialog(null); jfc.setVisible(true); //定义一个字符串得到要打开文件的绝对路径 String str=null; if(jfc.getSelectedFile() == null){ return; } str=jfc.getSelectedFile().getAbsolutePath(); //定义文件字符流读写文件。 FileReader fr=null; BufferedReader br=null; try { fr=new FileReader(str); br=new BufferedReader(fr); String total=""; String s=""; while((s=br.readLine() )!= null){ total+=s+"\r\n"; } jta.setText(total); } catch (Exception e2) { e2.printStackTrace(); // TODO: handle exception }finally{ try { br.close(); fr.close(); } catch (IOException e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); } } } //和上面大同小异又可以偷懒啦哈哈哈图书馆真TM热。 else if(e.getActionCommand().equals("保存")){ //首先定义一个文件选择组件咯 JFileChooser jfc=new JFileChooser(); //然后让这个组件显示出来保存的界面咯 jfc.showSaveDialog(null); //再让这个妖怪无所遁形,利用水万物不润的特点让它现形 jfc.setVisible(true); //找到把我们的文本文件保存在那个家里面 if(jfc.getSelectedFile() == null){ return; } String str=jfc.getSelectedFile().getAbsolutePath(); //仍然是定义文件字符输出流. FileWriter fw=null; BufferedWriter bw=null; try { fw=new FileWriter(str); bw=new BufferedWriter(fw); bw.write(jta.getText()); } catch (Exception e2) { e2.printStackTrace(); // TODO: handle exception }finally{ try { bw.close(); fw.close(); } catch (IOException e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); } } } } }一共没多少行代码。这个要注意的一点是
if(jfc.getSelectedFile() == null){ return; }这段代码一定要写,如果不写的话,那你点击了文件,然后点打开弹出JFileChooser的open界面,如果接下来没有选择任何文件而是点关闭,会爆出一个空指针异常。所以这个代码不能漏。第一片博客就这样。第一次写好紧张呢。哈哈。
相关文章推荐
- 用java开发的一个简单的记事本程序
- 今天没怎么写程序,就用JAVA调了下记事本,计算器,嘿嘿,写一个代码也是热身呀~~~
- 记事本 + 命令行 + Tomcat + JDK 写一个简单的JavaWeb程序
- 如何利用记事本编写并运行一个java程序
- 通过JAVA程序写一个简易的记事本
- 一个简单的java记事本程序
- 用记事本运行一个java程序
- 【java基础之程序】【一个简单的记事本程序】
- 用记事本写一个简单的java程序
- 利用记事本编写并运行一个java程序
- 用记事本写一个简单的java程序
- Test__GUI__用java编写一个简单的记事本程序,打包成jar双击运行
- Java初学日记1 用记事本写一个Java程序
- 请问C#程序中又激发一个exe文件的api?如打开记事本。
- 一个用Dijkstra算法实现的路由算法的java程序——5 GraphShow类
- 今天准备分析一个java的记事本
- 一个用Dijkstra算法实现的路由算法的java程序——2 GraphFromFile类
- 一个用Dijkstra算法实现的路由算法的java程序——7 GraphShowAdv类
- 一个用java代码编写的日期程序
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)