JTextArea 里面有些方法,能实现.
txtEdit.copy();复制
txtEdit.paste();粘贴
txtEdit.cut();剪切
部分代码:
--------------------------------
JTextArea txtEdit = new JTextArea();
JMenuBar mb = new JMenuBar();
JMenu menuEdit = new JMenu("编辑(E)");
JMenuItem menuCut = new JMenuItem("剪切(T)");
JMenuItem menuCopy = new JMenuItem("复制(C)");
JMenuItem menuPaste = new JMenuItem("粘贴(P)");
JMenuItem menuDel = new JMenuItem("删除(L)");
构造方法中:
menuEdit.add(menuUndo);
menuEdit.addSeparator();
menuEdit.add(menuCut);
menuEdit.add(menuCopy);
menuEdit.add(menuPaste);
menuEdit.add(menuDel);
//加入快捷键
menuCut.setAccelerator(KeyStroke.getKeyStroke('X',InputEvent.CTRL_MASK));
menuCopy.setAccelerator(KeyStroke.getKeyStroke('C',InputEvent.CTRL_MASK));
menuPaste.setAccelerator(KeyStroke.getKeyStroke('V',InputEvent.CTRL_MASK));
//加入事件监听
menuCut.addActionListener(this);
menuCopy.addActionListener(this);
menuPaste.addActionListener(this);
方法:
public void actionPerformed(ActionEvent e)
{
JFileChooser fc = new JFileChooser(".");
if(e.getSource().equals(menuCopy))//复制
{
txtEdit.copy();
}
else if(e.getSource().equals(menuPaste))//粘贴
{
txtEdit.paste();
}
else if(e.getSource().equals(menuCut))//剪切
{
txtEdit.cut();
}
----------------
//保存和读取,I/O流操作.我只写了方法
public void readFile()//用于读取文件内容
{
try
{
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String str;
while((str = br.readLine()) != null)
{
txtEdit.setText(txtEdit.getText()+str+"\n");
}
br.close();
fr.close();
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
public void saveFile()//保存文件
{
try
{
FileWriter fw = new FileWriter(file);
fw.write(txtEdit.getText());
fw.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
----------------
剩下的你自己实现吧...
------------------------------
在public void actionPerformed(ActionEvent e)中
if(e.getSource().equals(menuOpen))//打开
{
int result = fc.showOpenDialog(this);//显示打开对话框
if(result == 0)//点击打开
{
file = fc.getSelectedFile();
this.setTitle(file.getName()+" - 记事本");
readFile();
}
}
if(e.getSource().equals(menuSave) || e.getSource().equals(menuSaveAs))//保存
{
int result = fc.showSaveDialog(this);//显示保存对话框
if(result == 0)//点击了保存
{
file = fc.getSelectedFile();
this.setTitle(file.getName() + " - 记事本");
saveFile();
}
}
-----------------
代码经过我测试,没有什么异常...
你自己再仔细看看吧...