亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cutandpaste.java

?? 用java實現的記事本功能
?? JAVA
字號:
/*
 * Created on 2005-6-14
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.eagle.test;

/**
 * @author Administrator
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import java.io.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

import com.eagle.swing.Console;
import java.awt.datatransfer.*;
import javax.swing.undo.UndoManager;


public class CutAndPaste extends JFrame {
	private static final int NotModify = 0;
	private static final int HavModify = 1;
	private static int flag = NotModify;
	
	private JMenuBar mb = new  JMenuBar();
	private JMenu file = new JMenu("File");
	private JMenu edit = new JMenu("Edit");
	private JMenu help = new JMenu("Help");
	private JMenuItem
	   newF = new JMenuItem("New"),
	   open = new JMenuItem("Open"),
       save = new JMenuItem("Save"),	
       close = new JMenuItem("Close"),
	   redo = new JMenuItem("Redo"),
	   undo = new JMenuItem("Undo"),
	   find = new JMenuItem("Find"),
	   cut = new JMenuItem("Cut"),
       copy = new JMenuItem("Copy"),
       paste = new JMenuItem("Paste"),
	   about = new JMenuItem("About");    
    
	private UndoManager undomanager= new UndoManager();
	private JTextArea text = new JTextArea(20,30);
	private TextF textf = new TextF();
	private UndoF undof = new UndoF();
	private Clipboard clipbd = getToolkit().getSystemClipboard();

    public CutAndPaste(){      

    	this.setTitle("無標題-記事本");
    	newF.addActionListener(new NewF());
     	open.addActionListener(new OpenDialog());
    	save.addActionListener(new SaveDialog());
    	close.addActionListener(new CloseF());    	
    	
    	redo.addActionListener(new RedoL());
    	undo.addActionListener(new UndoL());
    	find.addActionListener(new FindL());
    	cut.addActionListener(new CutL());
      	copy.addActionListener(new CopyL());
      	paste.addActionListener(new PasteL()); 
      	
      	about.addActionListener(new AboutH());
      	
      	text.getDocument().addDocumentListener(textf); 
      	text.getDocument().addUndoableEditListener(undof);
      	
      	
      	file.add(newF);
      	file.add(open);
      	file.add(save);
      	file.add(close);
      	
      	edit.add(undo);
      	edit.add(redo);
      	edit.add(find);
      	edit.add(cut);
      	edit.add(copy);
      	edit.add(paste);
      	
      	help.add(about);
      	
      	mb.add(file);
      	mb.add(edit);
      	mb.add(help);
      	
      	setJMenuBar(mb);
      	getContentPane().add(new JScrollPane(text));
    } 
    
    class NewF implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		
    		undomanager.discardAllEdits();
    		if(flag == NotModify) {
    			text.setText("");    			
    			flag = NotModify;
    		}
    		if(flag == HavModify ){ 
    			int val = isSaveDialog();
    			if(val == 0) {
    				SaveF();
    				text.setText("");
    				flag = NotModify;
    			}
    			if(val == 1) {
    				text.setText("");
    				flag = NotModify;
    			}
    			if(val == 2) ;
    		}
    	}
    }
    
    class UndoF implements UndoableEditListener{
     public void undoableEditHappened( UndoableEditEvent e )  
        { 
            undomanager.addEdit( e.getEdit() ); 
        } 
    }
    

    
    class TextF implements DocumentListener{
     	public void changedUpdate(DocumentEvent e){
    		flag = HavModify;
    	}
    	public void insertUpdate(DocumentEvent e){
    		flag = HavModify;
    	}
    	public void removeUpdate(DocumentEvent e){        	
    		flag = HavModify;
    	}
    }
    
    class OpenDialog implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		if(flag == NotModify) OpenF();
    		else if(flag == HavModify) {
    			int value = isSaveDialog();
    			if(value == 0) {
    				SaveF();
    				OpenF();
    			}
    			else if(value == 1) OpenF();
    		}    		
    	}
    }
    
    class SaveDialog implements ActionListener{
    	public void actionPerformed(ActionEvent e){
        if(flag == NotModify) ;    
    	else if(flag == HavModify) {    	
    		SaveF(); 
    		}    			
    	}
    }
    
   
    	public void OpenF(){    		
    		File filer = new File
			("E:\\eclipse\\myworkspace\\MySwing\\com\\eagle\\test");	 		
    	
    			JFileChooser chooser = new JFileChooser(filer); 
    			int returnVal = chooser.showOpenDialog(new CutAndPaste());   			
    			if(returnVal == JFileChooser.APPROVE_OPTION){
    				 text.setText("");    		 
    		      try{
    		      	  	FileReader fr = new FileReader
    					(new File(chooser.getSelectedFile().getAbsolutePath()));
    		    		super.setTitle(chooser.getSelectedFile().getName() + "-記事本");
    		    		BufferedReader br = new BufferedReader(fr);
    		   			String str = br.readLine();
    		   			   while(str != null){    	        	
    		   	        	  text.append(str + "\n");
    		   	        	  str = br.readLine();
    	    	           }     	      
    	    	       br.close();   			
    		    	 }catch(IOException ee){}
    			} 
    			flag = NotModify;              //not to check
    	}
 
  
    	public void SaveF(){
    		File filer = new File
			("E:\\eclipse\\myworkspace\\MySwing\\com\\eagle\\test");	 		
    	
    			JFileChooser chooser = new JFileChooser(filer);
    			int returnVal = chooser.showSaveDialog(new CutAndPaste());   			
    			if(returnVal == JFileChooser.APPROVE_OPTION){    				
    				String content = text.getText();    
    	    		try{
    	    			FileWriter fw = new FileWriter
    					(new File(chooser.getSelectedFile().getAbsolutePath()));
    	    			
    	    			BufferedWriter bw = new BufferedWriter(fw);
    	    			PrintWriter pw = new PrintWriter(bw);
    	    			pw.write(content);
    	    			pw.close();
    	    		}catch(IOException ee){}   	    		
    	    		flag = NotModify;
    			} 
    		
    	}
 
        public int isSaveDialog(){
        	Object[] options = {
        			"  Yes ",
                    "  No  ",
                    "cancel"};
             int n = JOptionPane.showOptionDialog(null,
                 "你編輯的文件中的文字已經改變,需要保存嗎?",
                 "我的記事本",
                 JOptionPane.YES_NO_CANCEL_OPTION,
                 JOptionPane.QUESTION_MESSAGE,
                 null,
                 options,
                 options[2]);
             return n;
        }
       
        
    class CloseF implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		if(flag == NotModify){    	      	
    			System.exit(0);     		
    		}
    		
    		int v = isSaveDialog();
    		if(v == 0) {
    			SaveF();    			
    			System.exit(0);
    		}
    		if(v == 1) {    		
    			System.exit(0);
    		}
    			
    	}
    }
    
       
    
    class CutL implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		String selection = text.getSelectedText();
    		if(selection == null){
    			return ;
    		}
    		StringSelection clipString = 
    			new StringSelection(selection);
    		clipbd.setContents(clipString, clipString);
    		text.replaceRange("",
    				text.getSelectionStart(),
					text.getSelectionEnd());   		
    	}
    }
    
    class CopyL implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		String selection = text.getSelectedText();
    		if(selection == null){
    			return ;
    		}
    		StringSelection clipString = 
    			new StringSelection(selection);
    		clipbd.setContents(clipString, clipString);    		
    	}
    }
    
    class PasteL implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		Transferable clipData =
    			clipbd.getContents(CutAndPaste.this);
    		try{
    			String clipString =
    				(String)clipData.getTransferData(DataFlavor.stringFlavor);
    			text.replaceRange(clipString,
    					text.getSelectionStart(),
						text.getSelectionEnd());  
    		}catch(Exception ex){
    			System.err.println("Not String flavor");   			
    		}
    	}
    }
    
    class AboutH implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		JOptionPane.showMessageDialog(null,
             "         版權所有,翻版不究\n " +
             "浙江工業大學軟件學院04級 殷正生           ",
			 "我的記事本",
			 JOptionPane.INFORMATION_MESSAGE);    	

    	}
    }
    
    class RedoL implements ActionListener{
    	public void actionPerformed(ActionEvent e){    	
    		
//    	redo.setEnabled(undomanager.canRedo());               //have to modify
    	   if(undomanager.canRedo()){
           	undomanager.redo();        	
          	}
    	   } 
    }
    
    class UndoL implements ActionListener{
    	public void actionPerformed(ActionEvent e){
    		
//    		undo.setEnabled(undomanager.canUndo());         //have to modify
    	   if(undomanager.canUndo()){
           	undomanager.undo();           
          	}
    	   } 
    }
    
    class FindL implements ActionListener {    
    	public void actionPerformed(ActionEvent e) {
    		String obj = text.getText();
    		obj = obj.replaceAll("\r\n"," ");
    		
    		int index = 0;
    		int base = 0;
    		int relative = 0;
    		String s = "";
    		try{
    		do{
    			s = (String)JOptionPane.showInputDialog(
	                    null,
	                    "查找內容:" ,
	                    "查找",
	                    JOptionPane.PLAIN_MESSAGE,
	                    null,
						null,
	                    s); 
//    			System.out.println("\ns:" + s);
    			relative = obj.indexOf(s);
    			if(relative == -1){
    				text.select(0,0);
                  	JOptionPane.showMessageDialog(null,
                  			"已經到文件末尾");
                  	break;
    			}
    			index = base + relative;    			
    			text.select(index, index + s.length());   	//sethighlighted 
//    			System.out.println("index:" + index);
//    			System.out.println("relative:" + relative);
    			obj = obj.substring(relative + s.length());    			
    			base = index + s.length();
//    			System.out.print("\nobj2:" + obj);
    		}while(relative > -1);
    		
    		}catch(StringIndexOutOfBoundsException se){
    			text.select(0,0);
              	JOptionPane.showMessageDialog(null,
              			"已經到文件末尾");
    		}
    		catch(NullPointerException ne){
    			
    		}
    		
    		
    	}
    }
	public static void main(String[] args) {
		int width = Toolkit.getDefaultToolkit().getScreenSize().width;
		int height = Toolkit.getDefaultToolkit().getScreenSize().height;
		Console.run(new CutAndPaste(), 3*width/4, 3*height/4);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆91在线看| 亚洲综合激情网| 粉嫩av亚洲一区二区图片| 久久网站最新地址| 国产精品原创巨作av| 国产亚洲成aⅴ人片在线观看| 国产91精品久久久久久久网曝门 | 欧美在线不卡视频| 一区二区在线观看免费视频播放| 色婷婷综合激情| 偷拍与自拍一区| 精品国内二区三区| 国产91精品免费| 夜夜精品视频一区二区| 欧美肥妇毛茸茸| 国内精品久久久久影院一蜜桃| 中文字幕精品—区二区四季| 一本大道久久a久久精二百| 午夜精品福利一区二区三区蜜桃| 日韩免费性生活视频播放| 国产不卡视频在线播放| 亚洲欧美另类久久久精品| 欧美日韩不卡一区| 国产成人av电影在线观看| 亚洲欧美成人一区二区三区| 91麻豆精品久久久久蜜臀| 国内精品不卡在线| 一区二区三区在线视频免费观看| 欧美一区二区美女| av在线播放一区二区三区| 亚洲va欧美va天堂v国产综合| 久久色在线视频| 欧美自拍偷拍一区| 国产乱子轮精品视频| 亚洲一区二区三区四区在线观看| 337p日本欧洲亚洲大胆精品| 色88888久久久久久影院野外| 久久精品噜噜噜成人av农村| 中文字幕日韩欧美一区二区三区| 91精品国产全国免费观看| 丁香亚洲综合激情啪啪综合| 免费看欧美美女黄的网站| 亚洲欧美视频在线观看| 精品福利在线导航| 欧美日韩成人综合天天影院| 波多野结衣中文字幕一区| 日本欧美大码aⅴ在线播放| 亚洲人成在线观看一区二区| 精品久久国产老人久久综合| 欧美主播一区二区三区美女| 国产成人在线视频播放| 青娱乐精品视频| 亚洲综合在线免费观看| 国产欧美日韩在线观看| 日韩视频免费观看高清完整版| 91视频.com| 东方aⅴ免费观看久久av| 国内精品国产三级国产a久久| 日韩av电影免费观看高清完整版 | 精品久久久久久久人人人人传媒 | 欧美大片日本大片免费观看| 欧美影视一区二区三区| 91伊人久久大香线蕉| 不卡视频在线观看| 成人午夜视频网站| 国产不卡在线视频| 国产成a人亚洲| 成人一级片在线观看| 国产一区二区三区黄视频| 蜜桃视频一区二区三区在线观看| 椎名由奈av一区二区三区| 国产精品一级在线| 国产精品影视网| 美日韩一级片在线观看| 亚洲自拍另类综合| 亚洲欧美在线视频观看| 国产日韩三级在线| 色综合中文字幕| 国产激情偷乱视频一区二区三区| 日本成人在线一区| 日日摸夜夜添夜夜添国产精品| 亚洲免费在线视频一区 二区| 日本一区二区免费在线观看视频 | 欧美日韩一区二区三区免费看| 国产剧情一区二区| 精品写真视频在线观看 | 午夜在线成人av| 亚洲欧美另类小说视频| 中文字幕成人网| 日韩一区二区精品| 欧美一区二区私人影院日本| 欧美日韩二区三区| 欧美精品色一区二区三区| aaa欧美日韩| 欧美日韩精品电影| 9191国产精品| 日韩免费视频线观看| 欧美大度的电影原声| 7777精品伊人久久久大香线蕉| 精品久久久久久久人人人人传媒| 亚洲精品在线免费观看视频| 精品国产电影一区二区| 亚洲精品在线免费播放| 国产网站一区二区| 国产精品久久久久久一区二区三区 | 91亚洲精品久久久蜜桃| 色综合视频一区二区三区高清| 日本久久一区二区三区| caoporn国产精品| 91精品1区2区| 欧日韩精品视频| 91精品国产综合久久精品麻豆 | caoporm超碰国产精品| 色综合一区二区三区| 欧美日韩在线观看一区二区| 欧美福利视频导航| 日韩欧美在线观看一区二区三区| 精品盗摄一区二区三区| 国产清纯白嫩初高生在线观看91 | 日韩国产欧美视频| 另类调教123区| 国产白丝精品91爽爽久久| av在线播放成人| 日本韩国视频一区二区| 精品国产乱码久久久久久久久 | 中文字幕一区二区三区乱码在线 | 91麻豆国产福利在线观看| 欧美丝袜丝nylons| 欧美成人aa大片| 国产精品视频yy9299一区| 亚洲香肠在线观看| 午夜精品久久久久久久久久久| 粉嫩一区二区三区在线看| 欧美性色欧美a在线播放| 日韩欧美一级精品久久| 久久亚洲综合av| 亚洲二区在线视频| 国产福利91精品| 在线成人高清不卡| 国产欧美一区二区三区网站| 亚洲午夜av在线| 精品无码三级在线观看视频| 9i看片成人免费高清| 91福利在线播放| 中文字幕一区二区三区不卡| 日韩精品三区四区| 97精品久久久久中文字幕 | 国产麻豆成人精品| 欧美在线一区二区三区| 久久综合久色欧美综合狠狠| 一区二区三区在线播放| 黑人精品欧美一区二区蜜桃| 在线观看日韩av先锋影音电影院| 337p日本欧洲亚洲大胆精品| 一区二区三区日韩精品| 国产一区999| 91精品久久久久久久99蜜桃| 亚洲欧美一区二区三区极速播放| 久久91精品久久久久久秒播| 欧美亚洲综合色| 国产精品短视频| 国产一区二区不卡在线| 精品成人佐山爱一区二区| 一区二区国产视频| 成人免费视频播放| 久久精品夜色噜噜亚洲aⅴ| 日韩福利电影在线观看| 欧美日韩免费在线视频| 亚洲乱码中文字幕| 不卡一区二区三区四区| 亚洲国产精品二十页| 国产一区视频网站| ww亚洲ww在线观看国产| 日韩黄色片在线观看| 欧美日高清视频| 亚洲国产精品麻豆| 欧美高清性hdvideosex| 亚州成人在线电影| 欧美日本韩国一区二区三区视频 | 91麻豆精品91久久久久久清纯| 亚洲美女视频一区| 一本色道久久综合精品竹菊| 成人欧美一区二区三区视频网页| 不卡视频在线看| 亚洲视频图片小说| 91官网在线观看| 一级精品视频在线观看宜春院| 色综合咪咪久久| 男男成人高潮片免费网站| 欧美一级高清大全免费观看| 日韩精品免费专区| 日韩一区二区三区免费观看| 麻豆国产一区二区| 91.com视频| 国产麻豆精品在线观看| 中国色在线观看另类| 91丝袜高跟美女视频| 亚洲综合小说图片| 欧美日韩一二三| 福利一区福利二区|