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

📄 mymodifier1.java

📁 一个类记事本程序代码
💻 JAVA
字号:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Container;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.FileDialog;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;
import javax.swing.JDialog;
import javax.swing.JRootPane;
import javax.swing.JInternalFrame;
import javax.swing.border.Border;
import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
	
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.lang.Exception;

import java.util.regex.Pattern;

//import ModiFrame;

/**
 * 编写者: 于长富
 * 调整字幕文本时间差
 * 编写日期: 2009-03-06
 */
public class MyModifier1 extends JFrame {

	public static JTextArea mytextArea;
	private static String strAll = "";
	private String currentFilePath="";
	private String currentFileName="";
	private String textContent; 
	
	MenuItem menuItemNew,menuItemOpen,menuItemSave,menuItemSaveAs,menuItemModifier,menuItemAbout;   
  MenuBar menuBarX;
  
  FileDialog openDlg, saveDlg;
  
  //JScrollPane jsp=new JScrollPane();
	
	/**
	 * Launch the application
	 * @param args
	 */
	public static void main(String args[]) {
		try {
			MyModifier1 mainframe = new MyModifier1();
			mainframe.setVisible(true);
		} 
		catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Create the frame
	 */
	public MyModifier1() {
		super("Modifier");
		MenuClickListener menuClickListener =new MenuClickListener();//菜单
		
		menuBarX=new MenuBar(); 
    Menu menuItemFile=new Menu("文件"); 
    menuBarX.add(menuItemFile); 
    Menu menuItemEdit=new Menu("编辑"); 
    menuBarX.add(menuItemEdit); 
    Menu menuItemHelp=new Menu("帮助"); 
    menuBarX.add(menuItemHelp); 

    menuItemNew=new MenuItem("新建"); 
    menuItemNew.addActionListener(menuClickListener); 
    menuItemOpen=new MenuItem("打开"); 
    menuItemOpen.addActionListener(menuClickListener); 
    menuItemSave=new MenuItem("保存"); 
    menuItemSave.addActionListener(menuClickListener); 
  	menuItemSaveAs=new MenuItem("另存为");
  	menuItemSaveAs.addActionListener(menuClickListener);
  	menuItemFile.add(menuItemNew);
  	menuItemFile.add(menuItemOpen);
    menuItemFile.add(menuItemSave);
    menuItemFile.add(menuItemSaveAs);
    menuItemModifier=new MenuItem("修改"); 
    menuItemModifier.addActionListener(menuClickListener); 
		menuItemEdit.add(menuItemModifier);
		
		menuItemAbout=new MenuItem("关于"); 
    menuItemAbout.addActionListener(menuClickListener);
    menuItemHelp.add(menuItemAbout);
		
		setMenuBar(menuBarX);
		
		openDlg = new FileDialog(this, "打开文件", FileDialog.LOAD);
    openDlg.setVisible(false);
    saveDlg = new FileDialog(this, "保存文件", FileDialog.SAVE);
    saveDlg.setVisible(false);
    openDlg.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e) {
          openDlg.setVisible(false);
        }
    });

    saveDlg.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
          saveDlg.setVisible(false);
        }
    });
      
  	Container ctn=getContentPane();		
		//ctn.add(jsp,BorderLayout.CENTER);//加载面板
		//setSize(640,480);
		setBounds(280, 150, 688, 488);
		setVisible(true);
		setResizable(false);	 
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		final JPanel panel = new JPanel();
		panel.setLayout(new BorderLayout());
		//panel.setBounds(23, 65, 399, 164);
		getContentPane().add(panel);

		final JScrollPane scrollPane = new JScrollPane();
		panel.add(scrollPane, BorderLayout.CENTER);

		mytextArea = new JTextArea();
		scrollPane.setViewportView(mytextArea);
		

	}
	 class MenuClickListener implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		if(e.getSource()==menuItemNew){                //Open a file
    			mytextArea.setText("");
    			currentFilePath="";
    			currentFileName="";      				
    		}
    		else if(e.getSource()==menuItemOpen){                //Open a file
    			openDlg.setVisible(true);        
    			if (openDlg.getFile() != null){          
    				openFile(openDlg.getDirectory(),openDlg.getFile());        
    			}      				
    		}
    		else if(e.getSource()==menuItemSave){//Save to current file
    			saveFile(); 
//    			saveDlg.setVisible(true);				
//    			saveFile(saveDlg.getDirectory(),saveDlg.getFile());			
    		}
    		else if(e.getSource()==menuItemSaveAs){//Save to another file 				
    			saveDlg.setVisible(true);				
    			saveAs(saveDlg.getDirectory(),saveDlg.getFile());			
    		}			
    		else if(e.getSource()==menuItemModifier){  //modify by your means 				
    			modiFile();			
    		}			
    		else if(e.getSource()==menuItemAbout){     //clear all data				
    			about();
				}
			}
		}
		
		public void openFile(String strPath,String strName){
			currentFilePath=strPath;
    	currentFileName=strName; 
    	mytextArea.setText("");    	
    	String strTemp;
      try {
      	mytextArea.setText("");         
        File fIn = new File(strPath,strName);
        FileReader fr = new FileReader(fIn);
        BufferedReader br = new BufferedReader(fr);
        while( ( strTemp = br.readLine() ) != null ) {
        	strAll=strAll+strTemp;
        	strAll=strAll+"\r\n";        		
     	 	}
     	 	br.close();
     	 	mytextArea.setText(strAll);
     	 	mytextArea.moveCaretPosition(0);
    	}          
    	catch (IOException IOe){
        System.out.println("Can't read the file!");
      }
    }	
    
		public void saveAs(String strPath,String strName){
			if(Pattern.matches("[.]*[.txt]{1}$",strName)||Pattern.matches("[.]*[.TXT]{1}$",strName));
			else strName=strName+".txt";
			textContent = mytextArea.getText();
    	try	{
        File fout = new File(strPath,strName);
        FileWriter fw = new FileWriter(fout);
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(textContent,0,textContent.length());
        bw.close();
      }
      catch (IOException IOe){
        System.out.println("Can't Write to File!");
      }
    }
    
    public void saveFile(){ 
    	if(currentFileName==""){
    		saveDlg.setVisible(true);				
    		saveAs(saveDlg.getDirectory(),saveDlg.getFile());	
    		} 
    	else{  	
      	try {
      		textContent = mytextArea.getText();
          File fout = new File(currentFilePath,currentFileName);
          FileWriter fw = new FileWriter(fout);
          BufferedWriter bw = new BufferedWriter(fw);
          bw.write(textContent,0,textContent.length());
          bw.close();
        }
        catch (Exception e){
          System.out.println("Can't Write current File!");
        }
    	}
    }
     
    public void modiFile(){
    	try {
//			 	JInternalFrame internalFrame = new JInternalFrame(
//        "Internal Frame "+(count++), false, true, false, false);  
//
//        //internalFrame.setLocation( 20,20);
//        internalFrame.setSize(200,200); 
//        internalFrame.setVisible(true);
//        //取得JInternalFrame的Content Pane,用以加入新的组件。
//        Container icontentPane = internalFrame.getContentPane();
//        JTextArea textArea = new JTextArea();
//        JButton b = new JButton("Internal Frame Button");
//        /*将JTextArea与JButton对象加入JInternalFrame中。由此呆知,JInteranlFrame加入组件
//         *的方式与JFrame是一模一样。
//         */
//        icontentPane.add(textArea,"Center");
//        icontentPane.add(b,"South");
//        //将JInternalFrame加入JDesktopPane中,如此一来,即使产生很多JInternalFrame,JDesktopPane也
//        //能将它们之间的关系治理得相当良好。
			
			ModiFrame smallframe = new ModiFrame();
			smallframe.setVisible(true);
			//mytextArea.setText(smallframe.str);
     	//mytextArea.moveCaretPosition(0);
			
		} 
		catch (Exception e) {
			e.printStackTrace();
		}
		} 
    
     public void about(){
     	String message="This aplication program is coded by ycf who is one coder of the TopStar Group!"+"\r\n"+
     	"and its name is Modifier!"+"\r\n"+
     	"If there is any question, please contact us!"+"\r\n"+
     	"Thank you for using this software, good luck!"+"\r\n"+"\r\n"+
     	"QQ:907197525"+"\r\n"+
     	"Phone:024-83690256"+"\r\n"+"\r\n"+
     	"All right reserved(C)2009-2010 TopStar Group,TSG.";
     	
    	JOptionPane optinPane=new JOptionPane(message,JOptionPane.INFORMATION_MESSAGE);
    	optinPane.setVisible(true);
    	optinPane.showMessageDialog(null, message, "关于...", JOptionPane.INFORMATION_MESSAGE); 
    }    
	}
    	

⌨️ 快捷键说明

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