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

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

?? dictionaryframe.java

?? 利用開源詞典star-dict編寫的一個小詞典程序,使用方法仿照金山詞霸
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;


/**
 * Sample application using Frame.
 *
 * @author 
 * @version 1.00 07/04/19
 */
public class DictionaryFrame extends Frame implements MouseListener,KeyListener,TextListener{
     ////////////////////////////////////////////////
     //定義區
     //////////////////////////////////////////////////
     final int WORDCOUNT = 57510;//總單詞數
     final String Info = "本程序是此次Java小作業之一 英漢字典\n操作方法:\n在上面的輸入框中輸入要查的單詞,若查到,此處顯示解釋,且右邊List控件指到該詞.\n若沒找到,此處顯示可能的單詞,右邊指向和其匹配最靠近的單詞,按Enter鍵獲得最靠近的單詞;\n在輸入句子的情況下(存在兩個以上空格),輸完后,按下回車鍵,本程序將會一一分析其中的單詞\nCoded by 張天明 041221120\n";
     
  	 //Label l = new Label("輸入:");
  	 
     TextField  InputBox = new TextField("");//輸入框
     TextArea  OutputBox = new TextArea(Info);//輸出框
     JList lst;//List框
     
     String LastWord = new String ("");//保存前一次輸入的詞;
     
     int FirstPoint = 0;//以某一個字母開頭的單詞的起始索引
     int RecentPoint = 0;//當前字母的位置
     int NowPoint = -1;//保存前一次查出的字母的位置
     int NextPoint = 0;//以某一個字母開頭的單詞的結束索引
     //文件中指針
     
     String []Word = new String[WORDCOUNT];
	 int []off = new int [WORDCOUNT];
     int []len = new int [WORDCOUNT];//將索引中的單詞及其偏移,長度保存在數組中
     
     //boolean ChangedList = false;
     boolean ChangedText = false;//防止List框和輸入框相互影響
     boolean Sentence = false;
     
     ///////////////////////////////////////////////
     //定義區
     /////////////////////////////////////////////////
     
     
     public DictionaryFrame() throws Exception
     {
     	setTitle("Dictionary");
		setSize(new Dimension(600, 400));//初始化界面
		//this.setLayout(BorderLayout);

        Font f = new Font("Tahoma",0,13);
        setFont(f);
        
        InIdx();//讀入索引
        
        lst = new JList(Word);//構建List
        
       
		this.add(InputBox,BorderLayout.NORTH); 
		this.add(OutputBox,BorderLayout.EAST); 
        this.add(new JScrollPane(lst),BorderLayout.CENTER);  
        
        //將幾個控件排好
        
        
        InputBox.addTextListener(this);//監聽輸入框
        InputBox.addKeyListener(this);
        lst.addMouseListener(this);//監聽List框


        this.addWindowListener
        (
            new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    DictionaryFrame.this.windowClosed();
                }
            }
        );  
    }
    
     /**
     * Invoked when a key has been typed.
     * See the class description for {@link KeyEvent} for a definition of 
     * a key typed event.
     */
    public void keyTyped(KeyEvent e)
    {
    	////////////////////////////////////////////////////////////////
    	////對回車鍵進行判斷.
    	if(e.getSource()==InputBox&&e.getKeyChar() =='\n')
 	 	{
 	 		if(Sentence)//若是句子,分析;
 	 		{
 	 		
 	 		try
 	 		{
 	 		int t1= RecentPoint;
			int t2 = NowPoint;
			int t3 = NextPoint;//存入現在指針位置;
			int t4 = FirstPoint;
		
			NowPoint = -1;
		
 	 		String out = new String ("該句子由以下單詞組成:\n");
 	 		
 	 		String s = InputBox.getText();
 	 		int lenth = s.length();
 	 		String w[]  = new String [100];
 	 		int n = 0;
 	 		byte a[] = s.getBytes();
 	 		byte b[] = new byte [100] ;
 	 		int l = 0;
 	 		
 	 		
 	 		for(int i =0;i<lenth;i++)//將單詞一一分開
 	 		{
 	 			if(a[i] == (byte)' ' ) 
 	 			{
 	 				if(l!=0)
 	 				{
 	 					w[n] = new String(b,0,l);
 	 					n++;
 	 					l =0;
 	 				}
 	 			
 	 			}
 	 			else 
 	 			{
 	 				b[l] = a[i];
 	 				l++;
 	 			}
 	 		}
 	 		if(l!=0)
 	 			w[n] = new String(b,0,l);
 	 		else n--;
 	 		
 	 		for(int i=0;i<=n;i++)//顯示單詞
 	 		{
 	 			out+= new String("第 "+(i+1)+" 個單詞: "+w[i]+"\n");
 	 		}
 	 		
 	 		String divide = "\n\n-------------------------我是分割線-------------------------\n\n";
 	 		
 	 			out+=divide;
 	 		
 	 		
 	 		//String Meaning[] = new String [n+1];
 	 		
 	 		for(int i=0;i<=n;i++)
 	 		{
 	 			if(isExist(w[i]))
 	 			{
 	 					out+= new String(w[i]+" 解釋如下:"+"\r\n");
 	 					out+= getMeaning(off[RecentPoint],len[RecentPoint]);
 	 					out+= divide;
 	 				
 	 			}
 	 			else
 	 			{
 	 					out+= new String (w[i]+" 不存在!"+divide);
 	 				
 	 			}
 	 		}
 	 		/*
 	 		for(int i=0;i<=n;i++)
 	 		{
 	 			OutputBox.append(Meaning[i]);
 	 		}
 	 		*/
 	 		OutputBox.setText(out);
 	 		
 	 		RecentPoint =t1;
			NowPoint =t2;
			NextPoint = t3;//恢復指針
			FirstPoint = t4;
 	 		
 	 		
 	 		}
 	 		
 	 			 catch(Exception ex)
			 	{
					System.err.println(ex);
				 }
			}
			else
			{
				//若不是句子,獲得待選的詞;
				InputBox.setText(Word[lst.getSelectedIndex()]);
			}
 	 		
 	 		
 	 		
 	 		
 	 	}
    
    	
    }

    /**
     * Invoked when a key has been pressed. 
     * See the class description for {@link KeyEvent} for a definition of 
     * a key pressed event.
     */
    public void keyPressed(KeyEvent e)
    {
    	
    }

    /**
     * Invoked when a key has been released.
     * See the class description for {@link KeyEvent} for a definition of 
     * a key released event.
     */
    public void keyReleased(KeyEvent e)
    {
    	
    }
       
    
     /**
     * Invoked when the mouse button has been clicked (pressed
     * and released) on a component.
     */
     public void mouseClicked(MouseEvent e)
     {
     	//valueChanged(e);
     	
     }

    /**
     * Invoked when a mouse button has been pressed on a component.
     */
    public void mousePressed(MouseEvent e)
    {
    	
    }

    /**
     * Invoked when a mouse button has been released on a component.
     */
    public void mouseReleased(MouseEvent e)
    {
    	if(e.getSource()==lst)//確定消息來源為List框,則執行ListChanged().
 		{
 		ListChanged();
 		}
    	
    }

    /**
     * Invoked when the mouse enters a component.
     */
    public void mouseEntered(MouseEvent e)
    {
    	
    }

    /**
     * Invoked when the mouse exits a component.
     */
    public void mouseExited(MouseEvent e) 
    {
    	
    }
    
    public   void   textValueChanged(TextEvent e)
  	{  
		if(e.getSource()==InputBox)
 	 	{
    	
 	 		if(ChangedText)
  			{
  				ChangedText = false;
  				return;
  			 }//防止List框和輸入框相互影響

 	 		 	try
 				{	
 	 			String W = InputBox.getText();//獲得輸入框結果
 	 			
 	 			///////////////////////////////////////////
 	 			////以下這段用于判斷輸入的是否是句子.特點是有兩個以上的空格
 	 			int blank = 0;
 	 			int length = W.length();
 	 			for(int i = 0;i<length;i++)
 	 			{
 	 				if(W.charAt(i) == ' ') blank ++;
 	 			}
 	 			if (blank >=2)
 	 			{
 	 				OutputBox.setText("輸入的應該是句子,不再進行單詞判斷!");
 	 				Sentence = true;
 	 				return ;
 	 				
 	 			}
 	 			///////////////////////////////////////////////
 	 			
 	 			
 	 			
 	 			if(W.length() == 0)//若長度為0,重新初始化
 	 			{
 	 				RecentPoint = 0;
 	 				lst.setSelectedIndex(0);
 	 				lst.ensureIndexIsVisible(0);
 	 				OutputBox.setText(Info) ;
 	 				LastWord = W;
 	 				return ;	

 	 			}
 	 			else
				//本來我是保存RecentPoint以加速查找的,但是發現對速度影響不大,所以去掉了
 	 			//if(W.length() == 1||W.length() < LastWord.length()||W.charAt(0)!=LastWord.charAt(0))//長度為1或比前一次小,重新獲得初始偏移
 	 			{
 	 				RecentPoint = getFirst(W);
 	 				
 	 			}
 	 			
 	 			if(getWord(W)) //在前一次查詢的基礎上查這次的詞
 	 				OutputBox.setText(getMeaning(off[RecentPoint],len[RecentPoint]));//查到輸出結果
 	 			else // System.out.print(RecentPoint);
 	 				OutputBox.setText(getAlike(W)) ;//未查到輸出可能的錯誤單詞	
 	 			
				if(NowPoint != RecentPoint)//如果偏移位置未變,即LIst框指向位置不變
				{
				
 	 			lst.setSelectedIndex(RecentPoint);
 	 			lst.ensureIndexIsVisible(WORDCOUNT-1);
 	 			lst.ensureIndexIsVisible(RecentPoint);//先將位置放在最后,在放在當前單詞上,可以讓其排在第一位
 				NowPoint = RecentPoint;
 				}
 	 			LastWord = W;//報存單詞
 	 			return ;
 
 			 }
 			 catch(Exception ex)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲婷婷在线视频| 亚洲在线视频免费观看| 51精品国自产在线| 欧美视频自拍偷拍| 在线观看www91| 欧美日韩国产区一| 4438x成人网最大色成网站| 精品视频在线视频| 欧美精品一区二区在线观看| 欧美日韩mp4| 欧美成人免费网站| 久久久久国产精品麻豆ai换脸| 久久久久久久久久电影| 国产精品久久久久一区二区三区| 亚洲视频综合在线| 亚洲国产日韩一区二区| 日韩激情中文字幕| 国产美女一区二区三区| 91偷拍与自偷拍精品| 欧美中文字幕不卡| 亚洲精品一区二区三区蜜桃下载| 国产精品无人区| 夜夜揉揉日日人人青青一国产精品| 亚洲444eee在线观看| 久久精品国产99国产| 99久久伊人网影院| 欧美精三区欧美精三区| 国产色综合一区| 亚洲午夜在线电影| 韩国三级中文字幕hd久久精品| 99精品欧美一区二区三区小说 | 亚洲免费毛片网站| 日本午夜一区二区| aaa欧美色吧激情视频| 欧美日本一区二区三区四区 | 99视频有精品| 欧美成人vr18sexvr| 亚洲视频1区2区| 精品一区二区久久久| 日本丶国产丶欧美色综合| 欧美精品一区二区久久久| 一区二区三区免费看视频| 国产黄色成人av| 欧美人与z0zoxxxx视频| 亚洲日穴在线视频| 国产曰批免费观看久久久| 欧美视频自拍偷拍| 国产精品免费观看视频| 国内精品在线播放| 91精品在线观看入口| 亚洲综合成人在线视频| 成人av网站免费观看| 久久久天堂av| 久久不见久久见免费视频7| 日本精品免费观看高清观看| 国产午夜精品久久久久久久| 免费不卡在线观看| 精品视频123区在线观看| 最新高清无码专区| 成人av在线观| 国产精品每日更新| 国产不卡视频在线观看| 精品sm捆绑视频| 琪琪久久久久日韩精品| 在线不卡中文字幕| 亚洲成人动漫在线免费观看| 色噜噜狠狠成人中文综合| 亚洲欧美在线高清| 欧美日韩亚洲国产综合| 国产精品久久久久桃色tv| 国产九九视频一区二区三区| 欧美电影免费观看高清完整版在线观看 | 久久国产精品99精品国产| 56国语精品自产拍在线观看| 无吗不卡中文字幕| 欧美精品一卡两卡| 日本视频一区二区| 日韩视频中午一区| 激情综合网av| 欧美韩日一区二区三区| 成人看片黄a免费看在线| 国产丝袜欧美中文另类| 成人性生交大片免费| 亚洲色图另类专区| 欧美日韩一区小说| 久久精品国产精品亚洲红杏| 久久婷婷国产综合国色天香| 成人免费电影视频| 亚洲欧美日本韩国| 欧美精品vⅰdeose4hd| 国内精品写真在线观看 | bt7086福利一区国产| 亚洲免费观看视频| 69堂精品视频| 国产精品亚洲专一区二区三区| 中文一区二区在线观看| 欧美午夜电影在线播放| 国产在线视频精品一区| 国产精品福利一区二区三区| 欧美日高清视频| 粉嫩av一区二区三区| 一区二区三区高清在线| 欧美一区二区精品| 国产99久久久国产精品潘金| 亚洲一区二区成人在线观看| 久久一区二区视频| 99久久久久免费精品国产| 午夜精品久久久久久| 欧美激情一区二区三区四区| 欧美日韩第一区日日骚| 国产成人av一区二区三区在线| 亚洲一区av在线| 国产欧美日韩视频一区二区| 欧美精品少妇一区二区三区| 国产成人免费av在线| 日韩电影在线观看一区| 中文字幕在线观看一区| 欧美videossexotv100| 91在线观看成人| 国产酒店精品激情| 免费精品99久久国产综合精品| 综合久久综合久久| 国产午夜亚洲精品理论片色戒 | 色88888久久久久久影院按摩| 韩国女主播成人在线观看| 亚洲一区二区高清| 亚洲日本在线观看| 国产视频视频一区| 精品久久久久久久久久久久包黑料| 99久久777色| 国产91丝袜在线播放0| 韩国女主播一区| 秋霞电影网一区二区| 夜夜爽夜夜爽精品视频| 亚洲视频香蕉人妖| 国产精品成人免费精品自在线观看 | 午夜国产精品影院在线观看| 亚洲四区在线观看| 国产精品少妇自拍| 欧美极品aⅴ影院| 久久一留热品黄| 亚洲精品一区二区三区福利| 91精品国产一区二区| 8v天堂国产在线一区二区| 欧美高清视频不卡网| 欧美中文字幕久久| 精品视频在线看| 日本韩国视频一区二区| 91福利国产成人精品照片| 91久久奴性调教| 欧美在线免费观看亚洲| 在线看国产一区| 欧美色电影在线| 777午夜精品免费视频| 欧美精品粉嫩高潮一区二区| 欧美一区二区三区影视| 91精品国产一区二区三区蜜臀 | 另类小说一区二区三区| 久久精品国产免费看久久精品| 蜜桃视频一区二区| 国产精品亚洲第一区在线暖暖韩国 | 91精品国产综合久久香蕉麻豆| 欧美日韩国产免费一区二区 | 国产一区二区影院| 国产69精品一区二区亚洲孕妇| 成人性视频免费网站| av一本久道久久综合久久鬼色| 97se亚洲国产综合自在线不卡 | k8久久久一区二区三区| 91丝袜美腿高跟国产极品老师| 在线观看国产一区二区| 91麻豆精品国产91久久久使用方法 | 欧美精品欧美精品系列| 欧美zozozo| 中文字幕在线播放不卡一区| 亚洲线精品一区二区三区八戒| 另类小说图片综合网| 成人激情免费网站| 91福利在线观看| 久久伊人中文字幕| 一区二区免费视频| 久热成人在线视频| 97超碰欧美中文字幕| 欧美一级欧美三级| 日韩一区中文字幕| 日韩—二三区免费观看av| 国产成人在线看| 欧美日韩精品三区| 欧美国产欧美综合| 奇米精品一区二区三区四区| www.日本不卡| 日韩欧美亚洲另类制服综合在线| 中文字幕在线不卡| 免费观看一级特黄欧美大片| av中文字幕一区| 精品国产污污免费网站入口| 亚洲资源中文字幕| av福利精品导航| 国产亚洲短视频| 日本成人中文字幕在线视频|