JAVA实现简易文本编辑器代码,java实现简易文本编辑器

这个程序创建了一个基于Java Swing的简单文本编辑器,具备新建、打开、保存、剪切、复制、粘贴和全选等功能。用户可以通过快捷键进行操作,如Ctrl+N新建,Ctrl+O打开,Ctrl+S保存,Ctrl+A全选等。剪切和复制功能利用了系统剪贴板。
摘要由CSDN通过智能技术生成

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

import java.util.*;

import java.io.*;

import javax.swing.filechooser.*;

import javax.swing.filechooser.FileFilter;

import java.awt.datatransfer.*;

public class Text extends JFrame

{

TextArea area;

String name=null;

String board=null;

private Clipboard cb;

public Text()throws Exception

{

setTitle("记事本");

Toolkit kit=Toolkit.getDefaultToolkit();

Image img=kit.getImage("01.jpg");

setIconImage(img);

JMenuBar jmb=new JMenuBar();

add(jmb);

setJMenuBar(jmb);

JMenu file=new JMenu("文件");

JMenu edit=new JMenu("编辑");

JMenuItem rebuild=new JMenuItem("新建");

JMenuItem save=new JMenuItem("保存");

JMenuItem open=new JMenuItem("打开");

JMenuItem anotherSave=new JMenuItem("另存为");

file.add(rebuild);

file.add(save);

file.add(open);

file.add(anotherSave);

rebuild.setAccelerator(KeyStroke.getKeyStroke("ctrl N"));

open.setAccelerator(KeyStroke.getKeyStroke("ctrl O"));

save.setAccelerator(KeyStroke.getKeyStroke("ctrl S"));

anotherSave.setAccelerator(KeyStroke.getKeyStroke("ctrl A"));

area=new TextArea();

add(area);

//JScrollPane scroldPane=new JScrollPane(area);//设置滚动轴

//add(scroldPane);

save.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

try{

saveText();

}catch(Exception ex)

{

}

}

});

open.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

try{

openText();

}catch(Exception ex)

{

}

}

});

rebuild.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

try{

area.setText("");

name=null;

}catch(Exception ex)

{}

}

});

anotherSave.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

anotherSaveText();

}

});

JMenuItem cut=new JMenuItem("剪切");

JMenuItem copy=new JMenuItem("复制");

JMenuItem plaster=new JMenuItem("粘贴");

JMenuItem all=new JMenuItem("全选");

edit.add(cut);

edit.add(copy);

edit.add(plaster);

edit.add(all);

cut.setAccelerator(KeyStroke.getKeyStroke("ctrl X"));

copy.setAccelerator(KeyStroke.getKeyStroke("ctrl C"));

plaster.setAccelerator(KeyStroke.getKeyStroke("ctrl V"));

all.setAccelerator(KeyStroke.getKeyStroke("ctrl A"));

cb=Toolkit.getDefaultToolkit().getSystemClipboard();

cut.addActionListener(new ActionListener()//剪切

{

public void actionPerformed(ActionEvent e)

{

board=area.getSelectedText();

cb.setContents(new StringSelection(board),null);

area.replaceRange("",area.getSelectionStart(),area.getSelectionEnd());

}

});

copy.addActionListener(new ActionListener()//复制

{

public void actionPerformed(ActionEvent

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值