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();
}
}
-----------------
代碼經過我測試,沒有什麽異常...
妳自己再仔細看看吧...