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

📄 f.java

📁 期间用到数据
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class TextEditorFrame extends JFrame{
    File file=null;
   	Color color=Color.red;
   	 
    TextEditorFrame(){
    initTextPane();
    initAboutDialog();
    initToolBar();
   	initMenu();
   	        }
   	void initTextPane(){
   		getContentPane().add(new JScrollPane(text));
   		}
   		
   	  JTextPane text=new JTextPane(); //这是用来做文本框的
      JFileChooser filechooser=new JFileChooser(); //文件选择框
      JColorChooser colorchooser=new JColorChooser();//
      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("颜色")
        },
         {
        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(){                   //when here have not wrong:
     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.YES_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("color")){
               color=JColorChooser.showDialog(TextEditorFrame.this,"",color);
                 text.setForeground(color); 
                 
    }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("作者-覃树新:记事本Q1.0版本"));
                  about.setModal(true);
                  about.setSize(200,100);
       }
    JToolBar toolbar=new JToolBar();//我来加上工具条
        JButton [] buttons=new JButton[]{
         new JButton("", new ImageIcon("qin.jpg")),
         new JButton("", new ImageIcon("shu.jpg")),
         new JButton("", new ImageIcon("xin.jpg"))
     };
  
 void initToolBar(){
         for(int i=0;i<buttons.length;i++)
         toolbar.add(buttons[i]);
        buttons[0].setToolTipText("复制");
        buttons[0].addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
              text.copy();
       }
   });
     buttons[1].setToolTipText("剪切");      
     buttons[1].addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
              text.cut();
       }
   });

           buttons[2].setToolTipText("粘贴");
           buttons[2].addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
              text.paste();
       }
   });


        this.getContentPane().add(toolbar,BorderLayout.NORTH);
     }
 }   
  
  

 public class F{
	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.YES_OPTION)
                System.exit(0);}
            });
                 
		f.setTitle("简单的记事本");
		f.setSize(800,600);
		f.show();
	}
  }

⌨️ 快捷键说明

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