⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bb.java

📁 Java实现的记事本工具
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class TextEditorFrame extends JFrame{
    File file=null;
   TextEditorFrame(){
    initTextPane();
    initAboutDialog();
    initToolBar();
    initMenu();
            }
    void initTextPane(){
     getContentPane().add(new JScrollPane(text));
     }
      JTextPane text=new JTextPane(); //这是用来做文本框的
      JFileChooser filechooser=new JFileChooser(); //文件选择框
      JDialog about=new JDialog(this); //关于对话框
      JMenuBar menubar=new JMenuBar();//菜单
      JMenu[] menus=new JMenu[]{
  new JMenu("文件"),
  new JMenu("编辑"),
  new JMenu("帮助")
 };
 JMenuItem menuitems[][]=new JMenuItem[][]{{
  new JMenuItem("新建"),
  new JMenuItem("打开..."),
  new JMenuItem("保存..."),
  new JMenuItem("退出...")
           },
   {
  new JMenuItem("复制"),         
  new JMenuItem("剪切"),
  new JMenuItem("粘贴"),
      },
         {
        new JMenuItem("关于")
         }
        };
      void initMenu(){
       
         for(int i=0;i<menus.length;i++){
          menubar.add(menus[i]);
          for(int j=0;j<menuitems[i].length;j++){
           menus[i].add(menuitems[i][j]);
           menuitems[i][j].addActionListener( action );
          }
         }
         this.setJMenuBar(menubar);
      } 
     ActionListener action=new ActionListener(){        
     public void actionPerformed(ActionEvent e){
  JMenuItem mi=(JMenuItem)e.getSource();
  String id=mi.getText();
  if(id.equals("新建")){
   text.setText("");
   file=null;
  }else if(id.equals("打开...")){
                    if(file !=null)filechooser.setSelectedFile(file);
                    int returnVal=filechooser.showOpenDialog(TextEditorFrame.this);
                    if(returnVal==JFileChooser.APPROVE_OPTION){

                    file=filechooser.getSelectedFile();
                    openFile();
                              }

      }else if(id.equals("保存...")){
       if(file!=null) filechooser.setSelectedFile(file);
          int returnVal=filechooser.showSaveDialog(TextEditorFrame.this);
                if(returnVal==JFileChooser.APPROVE_OPTION){
                file=filechooser.getSelectedFile();
                  saveFile();
                                  }
           }else if(id.equals("退出...")){
               TextEditorFrame f=new TextEditorFrame();
               int s=JOptionPane.showConfirmDialog(f,"需要保存吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
               if(s==JOptionPane.NO_OPTION)
                System.exit(0);
             }else if(id.equals("剪切")){
               text.cut();
             }else if(id.equals("复制")){
               text.copy();
             }else if(id.equals("粘贴")){
               text.paste();
             }else if(id.equals("关于")){
    	      about.setSize(200,150);
              about.show();
     }
   } 
 }; 
 void saveFile(){
       try{
        FileWriter fw=new FileWriter(file);
        fw.write(text.getText());
        fw.close();
         }
    catch(Exception e){e.printStackTrace();}

                  }                
  
  void openFile(){
         try{
              FileReader fr=new FileReader(file);
              int len=(int)file.length();
              char []buffer=new char[len];
              fr.read(buffer,0,len);
              fr.close();
              text.setText(new String(buffer));
              }catch(Exception e){e.printStackTrace();}
     }
  void initAboutDialog(){
                  about.getContentPane().add(new JLabel(""));
                  about.setModal(true);
                  about.setSize(200,100);
       }
    JToolBar toolbar=new JToolBar();//我来加上工具条
        JButton [] buttons=new JButton[]{
         new JButton("", new ImageIcon("fuzhi.gif")),
         new JButton("", new ImageIcon("jianqie.gif")),
         new JButton("", new ImageIcon("niantie.gif"))
     };
  void initToolBar(){
         for(int i=0;i<buttons.length;i++)
         toolbar.add(buttons[i]);
        buttons[0].setToolTipText("Ctrl+C");
        buttons[0].addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
              text.copy();
       }
   });
     buttons[1].setToolTipText("Ctrl+X");      
     buttons[1].addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
              text.cut();
       }
   });
           buttons[2].setToolTipText("Ctrl+V");
           buttons[2].addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
              text.paste();
       }
   });
        this.getContentPane().add(toolbar,BorderLayout.NORTH);
     }
 }   
public class bb{
 public static void main(String args[]){
   
                TextEditorFrame f=new TextEditorFrame();
                
              f.addWindowListener(new WindowAdapter(){
                   public void windowClosing(WindowEvent e)

                 {
                TextEditorFrame f=new TextEditorFrame();
               int s=JOptionPane.showConfirmDialog(f,"需要保存吗","结束程序",JOptionPane.YES_NO_OPTION);
               if(s==JOptionPane.NO_OPTION)
                System.exit(0);}
            });
  f.setTitle("记事本");
  f.setSize(700,550);
  f.show();
 }
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -