java记事本实现粘贴功能_JavaSE写的记事本程序,实现了简单的功能

import javax.swing.*;

import java.awt.FileDialog;

import java.awt.event.*;

import java.util.*; //Date needed

import java.io.*;

public class Area extends JFrame implements ActionListener {

FileDialog open, save; // FileDialog 类显示一个对话框窗口,用户可以从中选择文件

JScrollPane jsp;

JTextArea area;

JMenuBar jmb;

JMenu mFile, mEdit;

JMenuItem fNew, fOpen, fSave, fExit, eCopy, eCut, ePaste, eDate, eCancel;

// 构造函数

public Area() {

super("文本编辑器");

area = new JTextArea("", 24, 40);

jsp = new JScrollPane(area);

jmb = new JMenuBar();

mFile = new JMenu("文件");

mEdit = new JMenu("编辑");

// 向菜单栏中添加菜单

jmb.add(mFile);

jmb.add(mEdit);

// 文件菜单

fNew = new JMenuItem("新建");

fSave = new JMenuItem("保存");

fOpen = new JMenuItem("打开");

fExit = new JMenuItem("退出");

// 编辑菜单

// eCancel=new JMenuItem("撤销");

eCopy = new JMenuItem("复制");

eCut = new JMenuItem("剪切");

ePaste = new JMenuItem("粘贴");

eDate = new JMenuItem("日期/时间");

open = new FileDialog(this, "打开", FileDialog.LOAD);

save = new FileDialog(this, "保存", FileDialog.SAVE);

// public FileDialog(Dialog parent,String title,int mode)

// parent - 对话框的所有者 ,title - 对话框的标题;mode - 对话框的模式,FileDialog.LOAD 或

// FileDialog.SAVE

// LOAD此常量值指示文件对话框窗口的作用是查找要读取的文件。

// SAVE此常量值指示文件对话框窗口的作用是查找要写入的文件。

// 文件菜单的子菜单的处理

mFile.add(fOpen);

mFile.addSeparator(); // 添加分割线

// addSeparator()方法是往菜单、工具条中加入一条横线,实现菜单项及工具条的分组功能

mFile.add(fNew);

mFile.addSeparator();

mFile.add(fSave);

mFile.addSeparator();

mFile.add(fExit);

// 编辑菜单的子菜单的处理

mEdit.add(eCopy);

mEdit.addSeparator();

mEdit.add(eCut);

mEdit.addSeparator();

mEdit.add(ePaste);

mEdit.addSeparator();

mEdit.add(eDate);

this.setJMenuBar(jmb); // public void setJMenuBar(JMenuBar menubar)

// 设置此窗体的菜单栏

this.getContentPane().add(jsp); // public Container getContentPane()

// 返回此窗体的 contentPane 对象

this.setSize(600, 400);

this.setVisible(true); // 设置窗体为可见

fNew.addActionListener(this);

fSave.addActionListener(this);

fOpen.addActionListener(this);

fExit.addActionListener(this);

eCopy.addActionListener(this);

eCut.addActionListener(this);

ePaste.addActionListener(this);

eDate.addActionListener(this);

}

public void actionPerformed(ActionEvent e) //void actionPerformed(ActionEvent e) 发生操作时调用

{

if(e.getSource()==fNew) // java.util 类 EventObject public Object getSource() 返回最初发生 Event 的对象

{

area.setText(" "); //新建文件

}

else if(e.getSource()==fOpen) //打开文件

{

String str;

open.setVisible(true);

try

{

File f1=new File(open.getDirectory(),open.getFile());

FileReader fr=new FileReader(f1);

BufferedReader br=new BufferedReader(fr);

area.setText("");

while((str=br.readLine())!=null)area.append(str+"/n");

fr.close();

}

catch(Exception e1)

{}

}

else if(e.getSource()==fSave) //保存文件

{

save.setVisible(true);

try

{

File f1=new File(save.getDirectory(),save.getFile());

FileWriter fw=new FileWriter(f1);

BufferedWriter bw=new BufferedWriter(fw);

String gt=area.getText();

bw.write(gt,0,gt.length());

bw.flush();

fw.close();

}

catch(Exception e2)

{}

}

else if(e.getSource()==eCopy)

{

area.copy(); //复制文件

}

else if(e.getSource()==eCut)

{

area.cut(); //剪切文件

}

else if(e.getSource()==ePaste)

{

area.paste(); //粘贴文件

}

else if(e.getSource()==eDate)

{

Date d=new Date(); //日期

area.append(d.toString());

}

else

{

System.exit(0); //退出

}

}

// 主函数,程序入口

public static void main(String s[]) {

new Area();

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值