📄 interfacechenghash3.java
字号:
package scau108;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
class Interface extends JFrame{
private JButton jbuttonA,jbuttonB,jbuttonC,jbuttonD;
private TextArea textarea;
private JPanel jpanelA,jpanelB;
private String[] ArrayDictionary;
private int ArrayDictionaryLength;
private String[] ArrayText;
private int ArrayTextLength;
private HashSet hash;
private JFrame frame=this;
public Interface() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
setTitle("查错");
CreatJPanel();
CreatJButton();
CreatTextArea();
Add();
pack();
}
private void CreatJPanel(){
jpanelA=(JPanel)this.getContentPane();
jpanelB=new JPanel();
jpanelA.setLayout(new BorderLayout());
jpanelB.setLayout(new FlowLayout());
}
private void CreatJButton(){
CreatJButtonA();
CreatJButtonB();
CreatJButtonC();
}
private void CreatJButtonA(){
jbuttonA=new JButton("读取文件");
jbuttonA.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Read text=new Read(frame,"C:\\text.txt");
ArrayText=text.getArray();
ArrayTextLength=text.getArrayLength();
textarea.setText("File Read Success!");
// text.Display(textarea);
}
});
}
private void CreatJButtonB(){
jbuttonB=new JButton("读取字典");
jbuttonB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Read dictionary=new Read(frame,"C:\\1.txt");
ArrayDictionary=dictionary.getArray();
ArrayDictionaryLength=dictionary.getArrayLength();
textarea.setText("");
hash=dictionary.getHashSetDircty();
textarea.setText("Dictionary Read Success!");
// dictionary.Display(textarea);
}
});
}
private void CreatJButtonC(){
jbuttonC=new JButton("进行匹配");
jbuttonC.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
WordAnalyse WA=new WordAnalyse(hash);
WA.check("e:\\CheckResult.txt",ArrayText,ArrayTextLength,textarea);
}
});
}
private void CreatTextArea()
{ textarea=new TextArea(" ",10,1,TextArea.SCROLLBARS_BOTH);
}
private void Add()
{ jpanelB.add(jbuttonA);
jpanelB.add(jbuttonB);
jpanelB.add(jbuttonC);
jpanelA.add(jpanelB,BorderLayout.NORTH);
jpanelA.add(textarea,BorderLayout.CENTER);
}
public static void main(String args[])
{
System.out.println("Starting Interface...");
Interface mainFrame=new Interface();
mainFrame.setVisible(true);
}
}
class WordAnalyse
{ public int ErrorNum=0;
public HashSet hash;
public WordAnalyse(HashSet Hash)
{ this.hash=Hash;
}
public String Analyse(String[] word,int Length,int line)
{ String error=new String();
ErrorNum=0;
for(int i=0;i<Length;i++)
{ if(!hash.contains(word[i]))
{ error=error+"Line "+line+"\t"+word[i]+"\n";
ErrorNum++;
}
}
return(error);
}
public void check(String path,String[] ArrayText,int ArrayTextLength,TextArea textarea)
{ // WordAnalyse WA=new WordAnalyse(hash);
int j,n;
long kk=System.currentTimeMillis();
int LineNum=0;
try{ FileWriter file=new FileWriter(path);
String Word[]=new String[100];
StringTokenizer st;
kk=System.currentTimeMillis();
for (int i=0;i<ArrayTextLength;i++)
{ j=0;
st=new StringTokenizer (ArrayText[i]," 123456789!,.<>=+-/?;'~!@#$%^&[]{}()*\n");
while (st.hasMoreTokens())
{ Word[j]=st.nextToken();
j++;
}
n=j;
file.write(Analyse(Word,n,i));
LineNum=LineNum+getErrorNumber();
}
file.write("The Error Word Number is "+LineNum+" !用时 "+(System.currentTimeMillis()-kk)+" 毫秒");
file.close();
}
catch (IOException ee) {;}
textarea.setText("Check Success! ");
}
public int getErrorNumber()
{return(ErrorNum);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -