您的位置:首页 > 编程语言 > Java开发

用Java编写的一个小记事本

2015-10-10 16:41 323 查看
  
这是在学校做的一个小记事本,在网上看过一些记事本的代码,大多是一些比较有经验的前辈所编写的,算法比较精妙,精简。对于Java初学者来说,我有一个比较简单的思想。


  
要编写出一个记事本,至少需要拥有两方面的知识:1.图形用户界面(GUI)程序设计 2.文件的输入和输出

   


  我的基本思想就是;"先把记事本的框架先做好,再逐步添加监听。"

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

import java.io.*;//以上是导入各种所用到的包

public class  Mynotebook

{

 

public static  void  main(String
args[]){

MyFrame frame=new  
MyFrame();//这个主函数是框架

frame.setTitle("我的记事本");

frame.setSize(300,350);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

class MyFrame extends JFrame

{

 JTextArea jt1=new JTextArea();//设置文本域对象

      
File f;

       
String result="";

       
boolean  flag=true;

       
String value;

        

 JButton jbt=new JButton("替换为");//按钮

 JButton jba=new JButton("全部替换");

 JTextField jtf=new JTextField(15);

 JTextField jt=new JTextField(15);

 int start=0;

      
JFrame frame=new  JFrame();

 

 

 //以上是添加

 JPanel textPanel=new JPanel();//面板

JMenu jmu1=new JMenu("文件");//菜单主项

 JMenuItem jmi1=new
JMenuItem("新建");//以下是在菜单项里加入目录

   JMenuItem jmi2=new
JMenuItem("打开");

   JMenuItem jmi3=new
JMenuItem("保存");

   JMenuItem jmi4=new
JMenuItem("另存为");

  JMenuItem jmi5=new JMenuItem("退出");

  

 JMenu  jmu2=new
JMenu("编辑");

   JMenuItem jmi6=new
JMenuItem("复制");

   JMenuItem jmi7=new
JMenuItem("粘贴");

   JMenuItem jmi8=new
JMenuItem("查找替换");

  

 

 JMenu  jmu3=new
JMenu("帮助");

 final  JMenuItem jmi9=new
JMenuItem("关于编辑器");

 JMenuItem jmi10=new JMenuItem("帮助主题");

 

 

 public MyFrame(){

  

  textPanel.setLayout(new
BorderLayout());//设置布局

  
jmi2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));//设置快捷键

  
jmi3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));

  
jmi5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,ActionEvent.CTRL_MASK));

  
jmi6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK));

  
jmi7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,ActionEvent.CTRL_MASK));

  

 JMenuBar jmb=new 
JMenuBar();//菜单条

   setJMenuBar(jmb);

  
jmb.add(jmu1);//将设置的对象,添加到对应的地方才能实现功能。添加就如“大盒子里面套小盒子...”

   jmb.add(jmu2);

   jmb.add(jmu3);

   jmu1.add(jmi1);

   jmu1.add(jmi2);

   jmu1.add(jmi3);

   jmu1.add(jmi4);

   jmu1.add(jmi5);

   jmu2.add(jmi6);

   jmu2.add(jmi7);

   jmu2.add(jmi8);

   jmu3.add(jmi9);

   jmu3.add(jmi10);

 Container 
contentPane=getContentPane();//内容窗口

 
contentPane.add(textPanel,BorderLayout.CENTER);

  textPanel.add(jt1); 

 

 

jmi1.addActionListener (new ActionListener(){ 
//第一个监听,“新建”

  

  public void
actionPerformed(ActionEvent e)

  {

   if(e.getSource()==jmi1);

   jt1.setText(null);

   

   }

  

  } );

  jmi5.addActionListener (new
ActionListener(){ //“退出”(我是由简单到难,所以监听顺序不一样)

  

  public void
actionPerformed(ActionEvent e)

  {

   if(e.getSource()==jmi5);

   System.exit(0);

   

   }

  

  } );

  jmi9.addActionListener (new
ActionListener(){ //监听,“关于编辑器”,设置的一个标签

  

  public void
actionPerformed(ActionEvent e)

  {

   if(e.getSource()==jmi9);

   JFrame jd=new
JFrame("关于编辑器");

   jd.setSize(100,100);

   JLabel a=new
JLabel("WINGS-旗下开发产品-"+"周忠华制作");

   jd.add(a,BorderLayout.CENTER);

   jd.setLocation(100,200);

   jd.setSize(300,300);

   jd.setVisible(true);

   jd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

   

   

   }

  

  } );

  jmi10.addActionListener (new
ActionListener(){//监听,“帮助主题”,设置一个文本域,再不可编辑

  

  public void
actionPerformed(ActionEvent e)

  {

  textPanel.setLayout(new
BorderLayout());

    JFrame
frame=new  JFrame("帮助主题");

  

   
Container 
contentPane=getContentPane();//内容窗口

  
contentPane.add(textPanel,BorderLayout.CENTER);

   JPanel textPanel=new
JPanel();//面板

  

    

  

  

  String
help="WINGS-旗下帮助:\n"

  +"新建:重新开始一个文本框\n"

  +"打开:打开一个指定文件\n"

  +"保存:保存当前你所修改\n"

  +"另存为:保存在一个指定文件中\n"

  +"退出:退出记事本\n"

  +"复制:复制你想要的信息\n"

  +"粘贴:把你所剪贴或复制的信息拷贝下来\n"

  +"查找替换:找到你想要找到的信息并替换所有相同的信息\n"

  +"关于记事本:产品出处\n"

  +"帮助主题:当前所打开的文本框";

  JTextArea jt2=new
JTextArea();

  jt2=new JTextArea(30,20);

  
jt2.setEditable(false);//不可编辑

   textPanel.add(jt2);

   jt2.setText(help);

  
frame.add(textPanel,BorderLayout.CENTER);

  frame.setSize(350,250);

  frame.setVisible(true);

  frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

 

   

   }

  

  } );

  jmi6.addActionListener (new
ActionListener(){ //监听,“复制”,一个函数搞定

  

  public void
actionPerformed(ActionEvent e)

  {

   if(e.getSource()==jmi6);

   

   jt1.copy();

   

   }

  

  } );

  jmi7.addActionListener (new
ActionListener(){ //监听,“粘贴”

  

  public void
actionPerformed(ActionEvent e)

  {

   if(e.getSource()==jmi7);

   

   String
b;

   b=jt1.getText();

   jt1.paste();

   

   }

  

  } );

jmi2.addActionListener (new
ActionListener(){ //监听,“打开”

 

  public void
actionPerformed(ActionEvent e)

  {

    
if(e.getSource()==jmi2);

         
MyFrame frame=new  MyFrame();

     

    

                   JFileChooser
jfc=new JFileChooser();

                  
jfc.setDialogType(JFileChooser.OPEN_DIALOG);

                  
jfc.showOpenDialog(null);

                    f=jfc.getSelectedFile();

                    frame.setTitle(f.getName());

                    
flag=false;

                   
jt1.setText(read());

  

               
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: