📄 akeylisten.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 + -