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

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

?? textfindreplace.java.bak

?? Java程序設計培訓教程2
?? BAK
字號:
import java.awt.*;import java.awt.event.*;public class TextFindReplace implements MouseListener,WindowListener{    private Frame frObj;    private TextArea taObj;    private TextField tfObj1,tfObj2;    private Button buttonObj1;    private Button buttonObj2;    private Panel pObj1,pObj2,pObj3,pObj4,pObj5;    private Label labObj1,labObj2,labObj3;    boolean boolObj = false;    Dialog diaObj;    Label textLab;    Button butObj2 = new Button("OK");    public static void main(String args[])    {    	TextFindReplace examObj = new TextFindReplace();    	examObj.create();    }    /**create()方法用于創建主界面和創建有關查找和替換字符串結果信息的對話框*/    public void create(){    	//下面是創建主界面    	frObj = new Frame("Text find and replace example");    	//taObj代表界面上的文本區域    	taObj = new TextArea();    	//tfObj1代表用于輸入待查找或替換前的字符串的文本框    	tfObj1 = new TextField();    	//tfObj2代表用于輸入替換后的字符串的文本框    	tfObj2 = new TextField();    	//初始化兩個按鈕對象,分別用來實現”查找“和”替換“操作    	buttonObj1 = new Button("Find");    	buttonObj2 = new Button("Replace");    	//下面的三個Label對象用于顯示有關的提示信息    	labObj1 = new Label("文本區域:");    	labObj2 = new Label("待查找或替換前的字符串:");    	labObj3 = new Label("替換后的字符串:");    	//接下來的5個Panel對象用于控制主界面上各組件的位置和大小    	pObj1 = new Panel();    	pObj2 = new Panel();    	pObj3 = new Panel();    	pObj4 = new Panel();    	pObj5 = new Panel();    	//pObj1用于控制文本區域和相關提示信息的相對位置    	pObj1.setLayout(new BorderLayout());    	pObj1.add("North",labObj1);    	pObj1.add("Center",taObj);    	//pObj2用于控制第一個文本框和相關提示信息的相對位置    	pObj2.setLayout(new BorderLayout());    	pObj2.add("North",labObj2);    	pObj2.add("Center",tfObj1);    	//pObj3用于控制第二個文本框和相關提示信息的相對位置    	pObj3.setLayout(new BorderLayout());    	pObj3.add("North",labObj3);    	pObj3.add("Center",tfObj2);    	//pObj4用于控制Find按鈕和Replace按鈕的相對位置    	pObj4.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));    	pObj4.add(buttonObj1);    	pObj4.add(buttonObj2);    	//pObj5用于控制pObj2、pObj3和pObj4的相對位置    	pObj5.setLayout(new GridLayout(3,1));    	pObj5.add(pObj2);    	pObj5.add(pObj3);    	pObj5.add(pObj4);    	//最后通過frObj控制整體的效果    	frObj.setLayout(new GridLayout(1,2));    	frObj.add(pObj1);    	frObj.add(pObj5);    	//為Find按鈕、Replace按鈕和主窗口添加事件監聽器    	buttonObj1.addMouseListener(this);    	buttonObj2.addMouseListener(this);    	frObj.addWindowListener(this);    	//下面兩個語句設置主界面的大小并讓主界面可見    	frObj.setSize(400,260);    	frObj.setVisible(true);    	    	/*下面的語句用于創建一個對話框,當用戶單擊Find按鈕或者Replace按鈕后,根據結果顯示    	一個有關結果信息的對話框,對話框上有一個Label組件和一個OK按鈕,Label組件用于顯示    	查找或替換字符串的次數*/    	diaObj = new Dialog(frObj);        diaObj.setLayout(new FlowLayout(FlowLayout.CENTER,40,20));    	       	textLab = new Label("");    	diaObj.add(textLab);  	diaObj.add(butObj2);    	butObj2.addMouseListener(this);    	diaObj.setSize(200,100);   	    }   /**方法mouseClicked用于處理鼠標單擊的事件,也就是當鼠標單擊事件發生后,程序就會進入該方法中執行*/    public void mouseClicked(MouseEvent e){   	//下面這個語句用于獲得事件源按鈕   	Button butObj = (Button)(e.getSource());    	//下面的if語句處理事件源是Find按鈕或Replace按鈕時的情況   	if(butObj.getLabel()=="Find"||butObj.getLabel()=="Replace")      	{   	    /*String型變量strObj1和strObj2獲得文本區域和第一個文本框中的文字內容*/   	    String strObj1 = taObj.getText();    	    String strObj2 = tfObj1.getText();    	    //變量matchNum代表字符串匹配的次數,初始值為0    	    int matchNum = 0;    	    //cursorPos代表光標當前的位置    	    int cursorPos = taObj.getCaretPosition();    	    //實例化一個matchFun類的對象    	    matchFun classObj = new matchFun();   	    //下面的if語句處理單擊Find按鈕事件	    	    if(butObj.getLabel()=="Find")    	    {    	        //通過調用matchFun類的方法strFind計算出字符串匹配的次數    	        matchNum = classObj.strFind(strObj1,strObj2,cursorPos);    	    	//下面的一行語句重新設置對話框上Label對象的文本內容    	    	textLab.setText("共找到"+matchNum+"處");    	    	diaObj.show();    	    }    	    //接下來的if語句處理單擊Replace按鈕事件    	    if(butObj.getLabel()=="Replace")    	    {    		//變量strObj3獲得第二個文本框中的字符串    		String strObj3 = tfObj2.getText();    		//通過調用matchFun類中的strReplace按鈕計算字符串匹配次數    		matchNum = classObj.strReplace(strObj1,strObj2,strObj3,cursorPos);     		//重新設置對話框上Label對象的文本內容    		textLab.setText("共替換到"+matchNum+"處");    		//下面的語句用于刷新字符串替換后文本區域的文字顯示    		StringBuffer taText = classObj.repStr;    		taObj.setText(taText.toString());    	    	diaObj.show();    	    }    	}    	//下面的if語句用于處理事件源為OK按鈕時的情況    	if(butObj.getLabel()=="OK")    	{    		//單擊OK按鈕后,信息提示對話框消失,主界面顯示    		diaObj.hide();    		frObj.show();    	}    }    //下面的語句重寫MouseListener和WindowListener接口中的方法    public void mouseEntered(MouseEvent e){}    public void mouseExited(MouseEvent e){}    public void mousePressed(MouseEvent e){}    public void mouseReleased(MouseEvent e){}    //重寫windowClosing方法,關閉窗口時,程序退出    public void windowClosing(WindowEvent e){    	System.exit(0);    }    public void windowOpened(WindowEvent e){}	    public void windowIconified(WindowEvent e){}    public void windowDeiconified(WindowEvent e){}    public void windowClosed(WindowEvent e){}    public void windowActivated(WindowEvent e){}    public void windowDeactivated(WindowEvent e){}   }/**類matchFun用于處理有關字符串查找和替換算法*/class matchFun{    public int nextval[];    StringBuffer repStr;    public void getNext(String t)    {    	int i,j,arr;    	arr = t.length();    	i = 1;    	nextval = new int[arr];    	nextval[0] = 0;    	j = 0;    	while( i < t.length()-1)    	{    		if(j == 0 || t.charAt(i) == t.charAt(j))    		{    			++i; ++j;    			if(t.charAt(i)!=t.charAt(j))    				nextval[i] = j;    			else nextval[i] = nextval[j];    		}    		else j = nextval[j];    	}    }    public int indexKMP(String s1,String s2,int pos,int nextval[])    {    	int i,j;    	i = pos;    	j = 0;    	while(i<s1.length()&&j<s2.length())    	{    		if(j==0 || s1.charAt(i)==s2.charAt(j))    			{++i;++j;}    		else j = nextval[j];    	}    	if(j==s2.length()) return 1;    	else return 0;    }    /*方法strFind用于實現字符串查找,返回匹配的次數*/    public int strFind(String s1,String s2,int pos)    {    	/*變量i和j分別表示主串和模式串中當前字符串的位置,k表示匹配次數*/    	int i,j,k=0;    	//pos代表主串中開始比較的位置    	i = pos;    	j = 0;    	while(i<s1.length()&&j<s2.length())    	{    		if(s1.charAt(i) == s2.charAt(j))    		{    			++i; ++j;    			if(j==s2.length())    			{    			    //j=s2.length()表示字符串匹配成功,匹配次數加1    			    k = k+1;    			    //將指示主串和模式串中當前字符的變量i和j進行回退    			    i = i-j+1;    			    j = 0;    			 }    		}    		else {i = i-j+1; j = 0;}    	}    	return k;    }    /*方法strReplace用于實現字符串替換操作,返回替換的次數*/    public int strReplace(String s1,String s2,String s3,int pos)    {    	/*變量i和j分別表示主串和模式串中當前字符串的位置,k表示匹配次數*/    	int i,j,k=0;    	i = pos;    	j = 0;    	//將s1轉化成StringBuffer型進行操作    	repStr = new StringBuffer(s1);    	    	while(i<repStr.length()&&j<s2.length())    	{    		if(repStr.charAt(i) == s2.charAt(j))    		{    			++i; ++j;    			if(j==s2.length())    			{    			    /*j=s2.length()表示字符串匹配成功,匹配次數加1,此外對主串進行字符串替換*/    			    k = k+1;    			    repStr.replace(i-j,i,s3);    			    //將j進行重新賦值開始新的比較    			    j = 0;    			 }    		}    		else {i = i-j+1; j = 0;}    	}    	return k;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲天堂福利av| 丁香一区二区三区| 欧美在线观看一区| 中文一区二区完整视频在线观看| 蜜芽一区二区三区| 欧美日韩视频在线观看一区二区三区| 中文字幕一区二区三区视频| 成人深夜在线观看| 久久精品亚洲精品国产欧美 | 国产精品人妖ts系列视频| 久久激情五月激情| 日韩欧美一区二区免费| 精品影视av免费| 欧美一卡二卡三卡| 捆绑调教一区二区三区| 欧美大片一区二区| 久久99蜜桃精品| 26uuu亚洲综合色欧美| 国产精品1区2区| 亚洲国产成人一区二区三区| 成人性生交大片| 中文字幕不卡的av| 91美女片黄在线| 一级做a爱片久久| 欧美色男人天堂| 麻豆一区二区三区| 欧美国产精品一区二区| youjizz久久| 亚洲黄网站在线观看| 欧美体内she精视频| 日本美女一区二区三区视频| 久久亚洲一区二区三区明星换脸| 丁香婷婷综合网| 亚洲精品视频一区二区| 欧美精品在线观看一区二区| 精品一区二区三区在线视频| 国产精品视频免费| 欧美日韩一区二区三区高清| 久久99精品国产.久久久久 | 久草在线在线精品观看| 国产日韩欧美精品电影三级在线 | 精品久久99ma| 久久99国产精品免费| 国产精品美女久久久久久久| 一本大道久久精品懂色aⅴ| 天天综合网天天综合色| 国产亚洲视频系列| 日本高清无吗v一区| 久久99国内精品| 亚洲欧美自拍偷拍色图| 欧美一区二区福利视频| 99久精品国产| 毛片av中文字幕一区二区| 国产精品免费丝袜| 69堂成人精品免费视频| 成人aaaa免费全部观看| 日本欧美在线观看| 亚洲欧美国产毛片在线| www成人在线观看| 欧美日韩欧美一区二区| 精品视频在线看| 欧美高清精品3d| 韩国三级在线一区| 亚洲色欲色欲www在线观看| 日韩一区二区精品| 日本大香伊一区二区三区| 国内精品国产成人国产三级粉色 | 欧美大片在线观看| 在线免费视频一区二区| 成人永久aaa| 蜜桃av一区二区在线观看| 一区二区三区**美女毛片| 久久久精品国产免费观看同学| 欧美另类变人与禽xxxxx| 成人黄页毛片网站| 精品一区二区三区免费观看 | 亚洲一线二线三线视频| 欧美高清在线一区二区| 欧美怡红院视频| 99久久综合国产精品| 国产一区二区三区高清播放| 日韩高清电影一区| 亚洲精品成a人| 中文字幕一区二区三区在线不卡| 久久久亚洲精华液精华液精华液| 5858s免费视频成人| 91精品办公室少妇高潮对白| 91小视频免费看| av资源网一区| 成人精品一区二区三区中文字幕| 国产中文字幕精品| 美女视频黄频大全不卡视频在线播放| 香蕉久久一区二区不卡无毒影院| 亚洲制服欧美中文字幕中文字幕| 亚洲欧美色图小说| 中文字幕佐山爱一区二区免费| 亚洲精品中文字幕在线观看| 亚洲国产欧美在线人成| 免费成人在线视频观看| 精品一区二区在线播放| www..com久久爱| 欧美日韩三级一区二区| 精品久久99ma| 中文字幕av一区二区三区免费看 | 色婷婷av一区| 欧美浪妇xxxx高跟鞋交| xfplay精品久久| 国产精品日韩精品欧美在线| 亚洲精选视频在线| 蜜臀av一区二区在线观看| 国产成人在线看| 精品免费99久久| 国产精品污网站| 亚洲第一久久影院| 国产精品一级二级三级| 在线观看亚洲一区| 久久亚洲免费视频| 伊人性伊人情综合网| 美女一区二区在线观看| av一区二区三区四区| 欧美日本国产视频| 欧美激情在线一区二区三区| 午夜精品久久一牛影视| 国产精华液一区二区三区| 亚洲激情一二三区| 亚洲一区二区欧美| 久久精品免费观看| 99精品视频中文字幕| 欧美一区二区三区视频免费| 中文字幕一区二区三区在线观看| 日韩精品成人一区二区三区| 成人精品亚洲人成在线| 日韩三级视频在线看| 亚洲精品一二三四区| 国产黄色精品视频| 这里只有精品电影| 怡红院av一区二区三区| 成人性视频免费网站| 日韩欧美视频在线| 成人h精品动漫一区二区三区| 经典三级在线一区| 色综合中文综合网| 欧美日本精品一区二区三区| 欧美国产乱子伦 | 欧美mv和日韩mv的网站| 一区二区三区精品视频在线| 国产91丝袜在线18| 日韩免费视频一区二区| 亚洲国产精品尤物yw在线观看| 成人禁用看黄a在线| 欧美大片在线观看一区| 日韩国产欧美三级| 色就色 综合激情| 国产精品入口麻豆九色| 国产做a爰片久久毛片| 欧美一区在线视频| 亚洲一区二区在线免费观看视频| av激情综合网| 国产精品网站导航| 亚洲同性gay激情无套| 中文字幕精品一区二区三区精品| 日韩高清在线电影| 91精品福利视频| 亚洲天堂成人网| 99r国产精品| 综合久久一区二区三区| 国产传媒久久文化传媒| 欧美一区二区视频免费观看| 日韩专区中文字幕一区二区| 欧美日韩国产三级| 亚洲成a天堂v人片| 欧美日韩在线不卡| 日本欧美韩国一区三区| 欧美人动与zoxxxx乱| 午夜亚洲福利老司机| 欧美日本免费一区二区三区| 日韩电影免费在线观看网站| 久久先锋影音av| 国产精品18久久久| 欧美韩国日本不卡| 91同城在线观看| 亚洲午夜电影在线观看| 337p亚洲精品色噜噜| 久久不见久久见免费视频7| 精品国产乱码久久久久久闺蜜| 国产呦精品一区二区三区网站| 国产三级久久久| 色偷偷88欧美精品久久久| 亚洲一区二区视频在线观看| 欧美熟乱第一页| 麻豆精品久久精品色综合| 久久久国产精品午夜一区ai换脸| 成人黄色777网| 亚洲综合视频网| 日韩网站在线看片你懂的| 国产激情精品久久久第一区二区| 中文字幕一区二区三区av| 欧美日韩你懂得| 韩国av一区二区| 一区二区三区在线视频播放|