简单记事本的java程序代码

2024-11-21 18:53:08
推荐回答(5个)
回答1:

天啊, 冖_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"

第二个文件中的代码:

(太长了,贴不上来)

整个效果就是实现了基本的打开、关闭、保存、退出的功能。

效果如图:

回答2:

难的就是流那部分了,其他所有的外观的都是很简单的swing或者AWT的组件,直接拿来用就行了,还有个难的就是给组件添加一些快捷键,比如ctrl+c什么的,其他就没了,不过其实流这地方不考虑具体要求性能线程什么的就都用RandomAccessStream什么的那个就是随机读写流就可以完成所有读写操作了,而且是字节流支持中文

回答3:

该项目代码包括两个文件:MainFrame.java和SelectTextFile.java。
(SelectTextFile.java的代码这里就不贴了,太长了。你百度HI我吧^_^)
补充说明:我这个里面没有“新建”,但其实新建也是一样调用那个SelectTextFile.java而已,而且,新建的时候更简单,只须按照路径调用File的.createNewFile()就可以了。具体我就不添加了。有疑问的话你可以百度HI我)

1.MainFrame.java代码:
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"

回答4:

方便的话给我你的邮箱 我们这学期期末也做的这个我做完了

回答5:

以前好像写过练手用的,有空发给你!