當前位置:編程學習大全網 - 源碼下載 - 用JAVA中寫記事本,如何實現保存和打開文件

用JAVA中寫記事本,如何實現保存和打開文件

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();

}

}

-----------------

代碼經過我測試,沒有什麽異常...

妳自己再仔細看看吧...

  • 上一篇:MYSQL如何改變內存表的容量
  • 下一篇:夢見捉龍
  • copyright 2024編程學習大全網