自己写的JAVA记事本(很简单,对初学者有帮助)
2008-03-02 21:29
399 查看
package shengang.book;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.event.*;
import java.util.*; //Date needed
public class NoteBook extends JFrame ...{
JTextArea area = new JTextArea();
static JFrame frame;
File file = null;
JFileChooser filechooser = new JFileChooser();
class xinjian implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
area.setText("");
}
}
class dakai implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
if (file != null)
filechooser.setSelectedFile(file);
int returnVal = filechooser.showOpenDialog(NoteBook.this);
if (returnVal == JFileChooser.APPROVE_OPTION) ...{
file = filechooser.getSelectedFile();
openFile();
}
}
}
class baocun implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
if (file != null)
filechooser.setSelectedFile(file);
int returnVal = filechooser.showSaveDialog(NoteBook.this);
if (returnVal == JFileChooser.APPROVE_OPTION) ...{
file = filechooser.getSelectedFile();
saveFile();
}
}
}
class close implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
System.exit(0);//退出
}
}
class kaobei implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
area.copy();
}
}
class niantie implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
area.paste();
}
}
class jianqie implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
area.cut();
}
}
class adddate implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
Date d = new Date();
area.append(d.toString());
}
}
class About implements ActionListener ...{
public void actionPerformed(ActionEvent e) ...{
JOptionPane.showMessageDialog(null, "制作人:沈刚 QQ:289972365",
"关于本软件", JOptionPane.INFORMATION_MESSAGE);
}
}
void openFile() ...{
try ...{
FileReader fr = new FileReader(file);
int len = (int) file.length();
char[] buffer = new char[len];
fr.read(buffer, 0, len);
fr.close();
area.setText(new String(buffer));
} catch (Exception e) ...{
e.printStackTrace();
}
}
void saveFile() ...{
try ...{
FileWriter fw = new FileWriter(file);
fw.write(area.getText());
fw.close();
} catch (Exception e) ...{
e.printStackTrace();
}
}
public NoteBook() ...{
area = new JTextArea("", 640, 480);
JScrollPane jsp = new JScrollPane(area);
JMenuBar jmb = new JMenuBar();
JMenu mFile = new JMenu("文件");
JMenu mEdit = new JMenu("编辑");
JMenu mHelp = new JMenu("关于");
JMenuItem mNew = new JMenuItem("新建", KeyEvent.VK_N);
mNew.addActionListener(new xinjian());
mFile.add(mNew);
JMenuItem mOpen = new JMenuItem("打开", KeyEvent.VK_O);
mOpen.addActionListener(new dakai());
mFile.add(mOpen);
JMenuItem mSave = new JMenuItem("保存");
mSave.addActionListener(new baocun());
mFile.add(mSave);
mFile.addSeparator(); //添加分割线
JMenuItem mExit = new JMenuItem("退出");
mExit.addActionListener(new close());
mFile.add(mExit);
mFile.setMnemonic(KeyEvent.VK_F);
//编辑菜单的子菜单的处理
JMenuItem jmi;
jmi = new JMenuItem("拷贝");
jmi.addActionListener(new kaobei());
mEdit.add(jmi);
jmi = new JMenuItem("剪切");
jmi.addActionListener(new jianqie());
mEdit.add(jmi);
jmi = new JMenuItem("粘贴");
jmi.addActionListener(new niantie());
mEdit.add(jmi);
mEdit.addSeparator(); //添加分割线
jmi = new JMenuItem("插入当前日期");
jmi.addActionListener(new adddate());
mEdit.add(jmi);
jmi = new JMenuItem("关于本软件");
jmi.addActionListener(new About());
mHelp.add(jmi);
jmb.add(mFile);
jmb.add(mEdit);
jmb.add(mHelp);
this.setJMenuBar(jmb);
this.setTitle("刚刚记事本1.0");
this.getContentPane().add(jsp);
this.setSize(640, 480);
this.setVisible(true);
}
//主函数,程序入口点
public static void main(String s[]) ...{
new NoteBook();
}
}
相关文章推荐
- 自己做的java 记事本(查找,替换部分功能缺失) 多多交流
- JAVA初学者之旅(希望对JAVA初学者学习有帮助)
- 自己写的JAVA记事本
- java 利用注释和反射写一个简单的SQL语句拼接程序,很简单初学者
- 大家好,我是一个JAVA初学者,想在这里记下自己学习过程中的点点滴滴,请多多关照
- Java学习整理_写给自己的也希望能帮助需要的人_java入门基础
- 直立车调试指南,自己写的,我觉得对初学者还是有很大帮助的。。
- 自己理解的java工厂模式,希望对大家有所帮助
- 给自己的java程序生成API帮助文档
- 关于初学者提高自己JAVA水平的十大技术
- 一份旨在帮助 Android 初学者快速入门以及找到适合自己学习的资料
- Java 初学者帮助文档以及基础教程
- java 记事本读取文本文件的乱码问题,终于解决了 O(∩_∩)O~ 多谢 uu老师帮助
- Java初学者如何自学和自己定位解决问题 推荐
- java中我们如何制作我们自己的API帮助文档
- 出一道自己偶然想出来的JAVA题,看似很简单
- java 记事本读取文本文件的乱码问题,终于解决了 O(∩_∩)O~ 多谢 uu老师帮助
- JAVA基础多态相关知识,希望对初学者有些帮助
- Java自己生成struts帮助文档方法
- 关于java中字符编码的一点心得,可能对初学者有点帮助