类:FileTextChecker IntString CFileChooser CFileChooseLis CAnalyzeLis 变量: FileTextChecker:b1, b2, b3, l1, l2, f1, f2, p1, p10, P11, p12, p13, p14, num IntString: num CFileChooser: state, f CFileChooseLis: f CAnalyzeLis: analyzeF, dictionaryF, rst, window 方法: 1. 构造方法: FileTextChecker(),IntString(inti), CFileChooseLis(TextComponent rst) CAnalyzeLis(FileTextChecker w, TextComponent tcomp) 2. 方法: iniFrame(),getAnalyzeFile(),getDictionFile(),initFile() getNumber(),add(),accept(File f), choosedFile() actionPerformed(ActionEvent,e) actionPerformed(ActionEvent e), readTextFormFile(File f) 图2 4.3.2页面设计
4.4测试与分析 敏感词汇库: 待分析文档:
文件选择页面: 异常处理: 运行结果:
4.5 程序代码 import java.awt.*; import javax.swing.*; import java.io.*; import java.util.*; import java.awt.event.*; import java.beans.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class FileTextChecker extends JFrame { Button b1 = new Button(\ Button b2 = new Button(\ Button b3 = new Button(\开始分析敏感词汇\ Label l1 = new Label(\请选择需要分析的文档:\
Label l2 = new Label(\请选择敏感词汇库:\ TextField ph1 = new TextField(20); TextField ph2 = new TextField(20); TextArea area = new TextArea(5, 15); File f1 = null; File f2 = null; public FileTextChecker() { setTitle(\敏感词汇分析程序\ setSize(250, 450); setResizable(false); setLocation(170, 200); iniFrame(); setVisible(true); } void iniFrame() { ph1.setEditable(false); ph2.setEditable(false); JScrollPane ps = new JScrollPane(area); //add window listener addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); // do layout setLayout(new GridLayout(2 , 1)); Panel p1 = new Panel(); p1.setLayout(new GridLayout(5 , 1)); Panel p10 = new Panel();