自己写的JAVA记事本(很简单,对初学者有帮助)

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(""640480);
        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(640480);
        
this.setVisible(true);
    }


    
//主函数,程序入口点
    public static void main(String s[]) {

        
new NoteBook();
    }

}

 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值