當前位置:編程學習大全網 - 源碼下載 - 簡單記事本的java程序代碼

簡單記事本的java程序代碼

天啊,?冖_Na0?為什麽會有我編的記事本代碼呢?呵呵……妳肯定是“請教”過我的吧

呵呵……我自己編了壹個,不過呢,沒有windows那麽多的功能啊。

涉及到兩個文件:

第壹個文件中的代碼:

package?MyProject;

import?java.awt.BorderLayout;

import?javax.swing.JPanel;

import?javax.swing.JFrame;

import?java.awt.Dimension;

import?javax.swing.JMenuBar;

import?javax.swing.JMenu;

import?javax.swing.JMenuItem;

import?javax.swing.JLabel;

import?java.awt.Rectangle;

import?javax.swing.JTextArea;

import?javax.swing.JScrollPane;

import?java.awt.datatransfer.*;

import?java.io.*;

public?class?MainFrame?extends?JFrame?{

private?static?final?long?serialVersionUID?=?1L;

private?JPanel?jContentPane?=?null;

private?JMenuBar?jJMenuBar?=?null;

private?JMenu?jMenu?=?null;

private?JMenu?jMenu1?=?null;

private?JMenu?jMenu2?=?null;

private?JMenuItem?jMenuItem?=?null;

private?JMenuItem?jMenuItem1?=?null;

private?JMenuItem?jMenuItem2?=?null;

private?JMenuItem?jMenuItem3?=?null;

private?JLabel?jLabel?=?null;

private?JScrollPane?jScrollPane?=?null;

private?JTextArea?jTextArea?=?null;

private?JMenuItem?jMenuItem4?=?null;

private?JMenuItem?jMenuItem5?=?null;

private?JMenuItem?jMenuItem6?=?null;

private?JMenuItem?jMenuItem7?=?null;

private?static?MainFrame?myMainFrame=null;

private?static?String?textstr="";///用於記錄文本文件的路徑

private?File?myFile=null;

private?FileReader?myrder=null;

private?FileWriter?mywr=null;

/**

*?This?is?the?default?constructor

*/

public?MainFrame()?{

super();

initialize();

}

/**

*?This?method?initializes?this

*?

*?@return?void

*/

private?void?initialize()?{?

this.setSize(412,?350);

this.setJMenuBar(getJJMenuBar());

this.setContentPane(getJContentPane());

this.setTitle("JFrame");

this.addWindowListener(new?java.awt.event.WindowAdapter()?{

public?void?windowActivated(java.awt.event.WindowEvent?e)?{

if(!textstr.equals("")){

try{

myFile=new?File(textstr);

if(!myFile.exists()){

myFile.createNewFile();

}

myrder=new?FileReader(myFile);

char[]?mychar=new?char[(int)myFile.length()];

myrder.read(mychar);

String?tmp=new?String(mychar);

jTextArea.setText(tmp);

myrder.close();

}

catch(Exception?ee){

ee.printStackTrace();

}

}

}

public?void?windowClosing(java.awt.event.WindowEvent?e)?{

System.exit(0);

}

});

this.setVisible(true);

myMainFrame=this;

}

/**

*?This?method?initializes?jContentPane

*?

*?@return?javax.swing.JPanel

*/

private?JPanel?getJContentPane()?{

if?(jContentPane?==?null)?{

jLabel?=?new?JLabel();

jLabel.setBounds(new?Rectangle(15,?18,?65,?18));

jLabel.setText("文件內容:");

jContentPane?=?new?JPanel();

jContentPane.setLayout(null);

jContentPane.add(jLabel,?null);

jContentPane.add(getJScrollPane(),?null);

}

return?jContentPane;

}

/**

*?This?method?initializes?jJMenuBar?

*?

*?@return?javax.swing.JMenuBar?

*/

private?JMenuBar?getJJMenuBar()?{

if?(jJMenuBar?==?null)?{

jJMenuBar?=?new?JMenuBar();

jJMenuBar.add(getJMenu());

jJMenuBar.add(getJMenu1());

jJMenuBar.add(getJMenu2());

}

return?jJMenuBar;

}

/**

*?This?method?initializes?jMenu?

*?

*?@return?javax.swing.JMenu?

*/

private?JMenu?getJMenu()?{

if?(jMenu?==?null)?{

jMenu?=?new?JMenu();

jMenu.setText("文件");

jMenu.add(getJMenuItem());

jMenu.add(getJMenuItem1());

jMenu.add(getJMenuItem2());

jMenu.add(getJMenuItem3());

}

return?jMenu;

}

/**

*?This?method?initializes?jMenu1?

*?

*?@return?javax.swing.JMenu?

*/

private?JMenu?getJMenu1()?{

if?(jMenu1?==?null)?{

jMenu1?=?new?JMenu();

jMenu1.setText("編輯");

jMenu1.add(getJMenuItem4());

jMenu1.add(getJMenuItem5());

jMenu1.add(getJMenuItem6());

}

return?jMenu1;

}

/**

*?This?method?initializes?jMenu2?

*?

*?@return?javax.swing.JMenu?

*/

private?JMenu?getJMenu2()?{

if?(jMenu2?==?null)?{

jMenu2?=?new?JMenu();

jMenu2.setText("幫助");

jMenu2.add(getJMenuItem7());

}

return?jMenu2;

}

/**

*?This?method?initializes?jMenuItem?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem()?{

if?(jMenuItem?==?null)?{

jMenuItem?=?new?JMenuItem();

jMenuItem.setText("打開");

jMenuItem.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

MainFrame.this.myMainFrame.setEnabled(false);

SelectTextFile?mysl=new?SelectTextFile();

mysl.setVisible(true);

}

});

}

return?jMenuItem;

}

/**

*?This?method?initializes?jMenuItem1?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem1()?{

if?(jMenuItem1?==?null)?{

jMenuItem1?=?new?JMenuItem();

jMenuItem1.setText("關閉");

jMenuItem1.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

try{

myFile=null;

}

catch(Exception?ee){

ee.printStackTrace();

}

jTextArea.setText("");

}

});

}

return?jMenuItem1;

}

/**

*?This?method?initializes?jMenuItem2?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem2()?{

if?(jMenuItem2?==?null)?{

jMenuItem2?=?new?JMenuItem();

jMenuItem2.setText("保存");

jMenuItem2.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

try{

String?tmp=jTextArea.getText();

char[]?mychar=tmp.toCharArray();

myFile.delete();

myFile.createNewFile();

mywr=new?FileWriter(myFile);

mywr.write(mychar);

mywr.close();

}

catch(Exception?ee){

ee.printStackTrace();

}

}

});

}

return?jMenuItem2;

}

/**

*?This?method?initializes?jMenuItem3?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem3()?{

if?(jMenuItem3?==?null)?{

jMenuItem3?=?new?JMenuItem();

jMenuItem3.setText("退出");

jMenuItem3.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

System.exit(0);

}

});

}

return?jMenuItem3;

}

/**

*?This?method?initializes?jScrollPane?

*?

*?@return?javax.swing.JScrollPane?

*/

private?JScrollPane?getJScrollPane()?{

if?(jScrollPane?==?null)?{

jScrollPane?=?new?JScrollPane();

jScrollPane.setBounds(new?Rectangle(15,?46,?371,?225));

jScrollPane.setViewportView(getJTextArea());

}

return?jScrollPane;

}

/**

*?This?method?initializes?jTextArea?

*?

*?@return?javax.swing.JTextArea?

*/

private?JTextArea?getJTextArea()?{

if?(jTextArea?==?null)?{

jTextArea?=?new?JTextArea();

}

return?jTextArea;

}

/**

*?This?method?initializes?jMenuItem4?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem4()?{

if?(jMenuItem4?==?null)?{

jMenuItem4?=?new?JMenuItem();

jMenuItem4.setText("復制");

jMenuItem4.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

MainFrame.this.setClipboardText(MainFrame.this.getToolkit().getSystemClipboard(),jTextArea.getSelectedText());

}

});

}

return?jMenuItem4;

}

/**

*?This?method?initializes?jMenuItem5?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem5()?{

if?(jMenuItem5?==?null)?{

jMenuItem5?=?new?JMenuItem();

jMenuItem5.setText("剪切");

jMenuItem5.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

MainFrame.this.setClipboardText(MainFrame.this.getToolkit().getSystemClipboard(),jTextArea.getSelectedText());

jTextArea.setText(jTextArea.getText().substring(0,jTextArea.getSelectionStart()));

}

});

}

return?jMenuItem5;

}

/**

*?This?method?initializes?jMenuItem6?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem6()?{

if?(jMenuItem6?==?null)?{

jMenuItem6?=?new?JMenuItem();

jMenuItem6.setText("黏貼");

jMenuItem6.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

try{

jTextArea.setText(jTextArea.getText().substring(0,jTextArea.getSelectionStart()));

jTextArea.setText(jTextArea.getText()+(MainFrame.this.getClipboardText(MainFrame.this.getToolkit().getSystemClipboard())));

}

catch(Exception?ee){

ee.printStackTrace();

}

}

});

}

return?jMenuItem6;

}

/**

*?This?method?initializes?jMenuItem7?

*?

*?@return?javax.swing.JMenuItem?

*/

private?JMenuItem?getJMenuItem7()?{

if?(jMenuItem7?==?null)?{

jMenuItem7?=?new?JMenuItem();

jMenuItem7.setText("關於記事本");

jMenuItem7.addActionListener(new?java.awt.event.ActionListener()?{

public?void?actionPerformed(java.awt.event.ActionEvent?e)?{

////暫無代碼!!

}

});

}

return?jMenuItem7;

}

public?static?void?main(String?args[]){

new?MainFrame();

}

public?static?MainFrame?getMyMainFrame()?{

return?myMainFrame;

}

public?static?void?setMyMainFrame(MainFrame?myMainFrame)?{

MainFrame.myMainFrame?=?myMainFrame;

}

public?static?String?getTextstr()?{

return?textstr;

}

public?static?void?setTextstr(String?textstr)?{

MainFrame.textstr?=?textstr;

}

protected?static?String?getClipboardText(Clipboard?clip)?throws?Exception{

Transferable?clipT?=?clip.getContents(null);//?獲取剪切板中的內容

if?(clipT?!=?null)?{

if?(clipT.isDataFlavorSupported(DataFlavor.stringFlavor))?//?檢查內容是否是文本類型

return?(String)clipT.getTransferData(DataFlavor.stringFlavor);?

}?

return?null;?

}?

protected?static?void?setClipboardText(Clipboard?clip,?String?writeMe)?{?

Transferable?tText?=?new?StringSelection(writeMe);?

clip.setContents(tText,?null);?

}

}?//?@jve:decl-index=0:visual-constraint="10,10"

第二個文件中的代碼:

(太長了,貼不上來)

整個效果就是實現了基本的打開、關閉、保存、退出的功能。

效果如圖:

  • 上一篇:生病籌款如何能讓很多人捐款
  • 下一篇:編程語言發展史
  • copyright 2024編程學習大全網