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

📄 akeylisten.java

📁 是一个电子词典
💻 JAVA
字号:
import java.awt.event.*;
import java.util.*;
import SqlConnection.JdbcOdbcConn;

public class akeyListen implements KeyListener{
	JMenus jm;
	String s="";
	public String str;
	public String [] value;
	public static Hashtable hashbb=new Hashtable();
	public static DataItem dataitem=new DataItem();
	public akeyListen(JMenus ac){
		jm=ac;
	}
	public void keyTyped(KeyEvent e){
		//to do other 
	}
	public void keyPressed(KeyEvent e){
		//to do other
	}
	
	public void keyReleased(KeyEvent e){
		
	     int code=e.getKeyCode();//获得键上的代码
		 String text=e.getKeyText(code);//获得从键盘上输入的字符
		 str=(jm.inbox.getEditor().getItem()).toString().trim();//获得组合框中的内容
		 
		if(str.length()==0||text.equalsIgnoreCase("Ctrl")||text.equalsIgnoreCase("Enter")){
			//去除控制字符,没有从键盘上输入字符
		 }
		else{
		 char first=str.charAt(0);//取得首字母					
		 if(first<0 || first>255){
			 jm.isChinaWord=true;//如果输入的是中文
			 if(text.equalsIgnoreCase("Backspace")){
				 jm.tf.setText("");
				 String sql="Select distinct * from 单词项China where 单词原型 like '"+str+"%'";
				 ConnectionClass ConClass=new ConnectionClass(jm);
				 hashbb=ConClass.ChinaFind(sql);
				 if(hashbb.isEmpty()){}else{
				 value=(String[])hashbb.get(str);
				 if(value==null){
					 value=(String[])hashbb.get(ConClass.key1);
					 jm.tf.setText(ConClass.key1+"\n");
					 for(int i=0;i<value.length;i++){
						 s=s+value[i]+"    ";
					 }
					 jm.tf.append(s+"\n");
					 s="";
				 }else{
				 jm.tf.setText(str);
				 for(int i=0;i<value.length;i++){
					 s=s+value[i]+"    ";
				 }
				 jm.tf.append(s+"\n");
				 s="";
				 }
				 }//end else
			}//end Backspace
			 else{
			  if(str.length()==1){
					//"第一个字母"
				  jm.tf.setText("");
				    String sql="Select distinct * from 单词项China where 单词原型 like '"+str+"%'";
				 	ConnectionClass ConClass=new ConnectionClass(jm);
				 	hashbb=ConClass.ChinaFind(sql);	//建立连接并执行语句返回一个HASH表
				 	if(hashbb.isEmpty()){}
				 	else{
				 		jm.tf.setText(str+"\n");
				 	value=(String[])hashbb.get(str);
				 	 for(int i=0;i<value.length;i++){
						 s=s+value[i]+"    ";
						 System.out.println(s);
					 }
					 jm.tf.append(s+"\n");
					 s="";
				 	
				 	}//end else 
			  }//end if
			  else{
				  //多个字母
				  jm.tf.setText("");
						String sql="Select distinct * from 单词项China where 单词原型 like '"+str+"%'";
						ConnectionClass ConClass=new ConnectionClass(jm);
						hashbb=ConClass.ChinaFind(sql);	//建立连接并执行语句返回一个HASH表
						if(hashbb.isEmpty()){}else{
							value=(String[])hashbb.get(str);
							if(value==null){
								value=(String[])hashbb.get(ConClass.key1);
								jm.tf.setText(ConClass.key1+"\n");
								for(int i=0;i<value.length;i++){
									 s=s+value[i]+"    ";
								 }
								 jm.tf.append(s+"\n");
								 s="";
							}else{
							jm.tf.setText(str);
						for(int i=0;i<value.length;i++){
							 s=s+value[i]+"    ";
						 }
						 jm.tf.append(s+"\n");
						 s="";
							}
						}//end else
				    }//end else
		}//end else
		 }//中文字符判断
		 else
			 if(first>0||first<255){
				// "你输入了英文"
				 jm.isChinaWord=false;
				 if(text.equalsIgnoreCase("Backspace")){
				 if(str.length()==0){//如果文本框的内容已清空,显示初始状态
            // "删除为空"
		   String sql="Select Top 101 * from viewA";
		   ConnectionClass ConClass=new ConnectionClass(jm);
		   hashbb=ConClass.ConField(sql);	//建立连接并执行语句返回一个HASH表
		   if(hashbb.isEmpty()){}
		   else{
		   dataitem=(DataItem)hashbb.get(str);
		   jm.tf.setText(str+"\n"+dataitem.getWordX()+"\n"+dataitem.getValue()+"\n");
		   	}
	  }
		else{
			//"删除了还有内容"
			char a=str.charAt(0);
			String sql="Select Top 101 * from view"+a+" where 单词原型 like '"+str+"%'";
	 		ConnectionClass ConClass=new ConnectionClass(jm);
	 		hashbb=ConClass.ConField(sql);	//建立连接并执行语句返回一个HASH表
	 		if(hashbb.isEmpty()){}
	 		else
	 		{
	 		dataitem=(DataItem)hashbb.get(str);
	 		if(dataitem==null){
				dataitem=(DataItem)hashbb.get(ConClass.key1);
				jm.tf.setText(ConClass.key1+"\n"+dataitem.getWordX()+"\n"+dataitem.getValue()+"\n");
			}else
	 		 jm.tf.setText(str+"\n"+dataitem.getWordX()+"\n"+dataitem.getValue()+"\n");
	 		}//end else
			}//endif
	}
else{			 
  if(str.length()==1){
	//"第一个字母"
	char k=str.charAt(0);//取得首字母
   String sql="Select Top 101 * from view"+k+" where 单词原型 like '"+str+"%'";
	ConnectionClass ConClass=new ConnectionClass(jm);
	hashbb=ConClass.ConField(sql);	//建立连接并执行语句返回一个HASH表
	//ConField(sql);	//建立连接并执行语句返回一个HASH表
	if(hashbb.isEmpty()){System.out.println("iojwolkl22288");}
	else{
	dataitem=(DataItem)hashbb.get(str);
	jm.tf.setText("   "+str+"\n"+"    "+dataitem.getWordX()+"\n"+"    "+dataitem.getValue()+"\n");
	}//end if 
  }
   else{
		char k=str.charAt(0);//取得首字母
		String sql="Select Top 101 * from view"+k+" where 单词原型 like '"+str+"%'";
		ConnectionClass ConClass=new ConnectionClass(jm);
		hashbb=ConClass.ConField(sql);	//建立连接并执行语句返回一个HASH表
		if(hashbb.isEmpty()){
		}else{
		dataitem=(DataItem)hashbb.get(str);
		if(dataitem==null){
			dataitem=(DataItem)hashbb.get(ConClass.key1);
			jm.tf.setText(ConClass.key1+"\n"+dataitem.getWordX()+"\n"+dataitem.getValue()+"\n");
		}else
		jm.tf.setText(str+"\n"+dataitem.getWordX()+"\n"+dataitem.getValue()+"\n");
	}//end else
   }//end else
}//end else
}//end else
		 }//end else
}//end KeyReleased
	
}

⌨️ 快捷键说明

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