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();
}
}
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();
}
}