版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1设计时间 12设计目的 13设计任务 14设计内容 14.1模块接口说明 14.2设计流程图 24.3执行结果 44.4源代码 85总结与展望 18参考文献 19成绩评定 191设计时间2011年6月8日——2011年6月14日2设计目的随着网络的开展,各种论坛,博客等交流平台相继出现在互联网上。网民在互联网上的言论自由得到了充分的表达。然而一些素质低下的网民和不法分子在互联网上散布不良信息,使得互联网的环境遭到破坏。应对网络环境所需,敏感词检索分析程序应运而生,通过敏感词检索,可以有效减少不良信息的传播,为网络环境净化创造了条件。敏感词分析程序主要供网络管理员分析和检索敏感词汇。通过使用本程序,可以简化人力操作,高效的检索和分析敏感词汇。3设计任务(1)使用图形用户界面实现。(2)任意选择一个文本文件,分析该文件,如果存在敏感词汇,报告每个词出现的次数。(3)敏感词汇保存在sentive.txt文件中,每个词占一行,至少设置10个敏感词汇。(4)系统使用的GUI组件不得少于5种,越全面越好,但要适宜〔和谐界面〕。4设计内容4.1模块接口说明1.主界面欢送模块:提供其他模块接口。2.敏感词分析模块:实现敏感词汇分析检索。3.敏感词管理模块:实现敏感词的增加,修改,删除功能4.2设计流程图YYN选择敏感词文件关闭程序保存返回管理敏感词开始结束退出Welcome敏感词测试YYYN选择敏感词文件关闭程序保存返回管理敏感词开始结束退出Welcome敏感词测试Y选择测试文档检索敏感词返回NN开始敏感词测试选择文件检索敏感词开始敏感词测试选择文件检索敏感词返回getSelectedFile().getPath()newFileReader(newFile("E:/sentive.txt"))newwelcome()结束开始开始管理敏感词选择文件保存返回getSelectedFile().getPath()gettext()write()newwelcome()结束4.3执行结果4.4源代码本设计的具体代码如下://packagekeChengSeJi.MainGUI;importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;er;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;//importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFileChooser;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;importjavax.swing.JTextField;publicclassMainGUIextendsJFrame{//敏感词测试模块JButtonjbutton,jbutton1,jbutton2;JPaneljp1,jp2;JTextAreajta;JLabeljl;JTextFieldjtf;Containercontent;Stringbuffer="";publicMainGUI(){ content=getContentPane(); jp1=newJPanel(); jp2=newJPanel(); jbutton=newJButton("选择文件");//选择文件按钮 jbutton1=newJButton("检索敏感词");//检索按钮 jbutton2=newJButton("返回");//返回按钮 jta=newJTextArea(15,30); jl=newJLabel("文件路径名称:");//显示文件路径 jtf=newJTextField(20); jp1.setLayout(newBorderLayout()); jp1.add(newJScrollPane(jta)); jp2.add(jl); jp2.add(jtf); jp2.add(jbutton); jp2.add(jbutton1); jp2.add(jbutton2); content.add(jp1,BorderLayout.CENTER); content.add(jp2,BorderLayout.SOUTH); jbutton.addActionListener(newSizeChange1()); jbutton1.addActionListener(newSizeChange1()); jbutton2.addActionListener(newSizeChange1()); setTitle("敏感词程序"); setSize(600,400); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE);}publicvoidclose(){ this.dispose();}classSizeChange1implementsActionListener{publicvoidactionPerformed(ActionEvente){ if(e.getSource()==jbutton) { JFileChooserchooser=newJFileChooser(); intreturnVal=chooser.showOpenDialog(MainGUI.this); if(returnVal==JFileChooser.APPROVE_OPTION) { Stringstr=chooser.getSelectedFile().getPath(); jtf.setText(str); try{ BufferedReadersb=newBufferedReader(newFileReader(newFile(str))); Strings=sb.readLine(); while(s!=null){ buffer+=s+"\n"; s=sb.readLine(); } jta.setText(buffer); sb.close(); } catch(Exceptionee){ jta.setText(ee.toString()); } } } elseif(e.getSource()==jbutton1) { try{ String[]sentive=newString[10]; BufferedReadersb=newBufferedReader(newFileReader(newFile("E:/sentive.txt"))); Strings=""; intkey=0; inti=0; while((s=sb.readLine())!=null){ sentive[i]=s; i++; } for(intj=0;j<i;j++){ intflag=0; for(intk=0;k<buffer.length();k++){ if(buffer.charAt(k)==sentive[j].charAt(key)){ key++; if(key==sentive[j].length()){ flag++; key=0; } }else{ key=0; } } sentive[j]+="有"+flag+"个"; } JFramef=newJFrame(); f.setSize(600,100); JLabell=newJLabel(); Stringstr=sentive[0]+sentive[1]+sentive[2]+sentive[3]+ sentive[4]+sentive[5]+sentive[6]+sentive[7]+ sentive[8]+sentive[9]; l.setText(str); f.add(l); f.setDefaultCloseOperation(EXIT_ON_CLOSE); f.setVisible(true); }catch(Exceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } } elseif(e.getSource()==jbutton2){ close(); newwelcome(); } } } publicstaticvoidmain(Stringagrs[]) { newwelcome(); }}classwelcomeextendsJFrame{//JFramejf=newJFrame(); JButtonjbutton01,jbutton02,jbutton03; JPaneljp01,jp02; JLabeljl01; Containercontent01; publicwelcome(){ //finalStringFileName="D:\\MyDocuments\\MyPictures\\Amer耗子的凯撒.jpg"; content01=getContentPane(); jp01=newJPanel(); jp02=newJPanel(); jbutton01=newJButton("敏感词测试");//敏感词测试按钮 jbutton02=newJButton("管理敏感词");//敏感词管理按钮 jbutton03=newJButton("退出");//程序退出按钮 //JLabelcenterImage=newJLabel(newImageIcon(FileName)); jl01=newJLabel("欢送使用敏感词测试程序");//欢送语 jp01.setLayout(newBorderLayout()); //content01.setLayout(newBorderLayout()); jp01.setLayout(null); jl01.setBounds(220,150,200,30); jp01.add(jl01); jp02.add(jbutton01); jp02.add(jbutton02); jp02.add(jbutton03); //content01.add(centerImage,BorderLayout.CENTER); content01.add(jp01,BorderLayout.CENTER); content01.add(jp02,BorderLayout.SOUTH); jbutton01.addActionListener(newSizeChange2()); jbutton02.addActionListener(newSizeChange2()); jbutton03.addActionListener(newSizeChange2()); setTitle("敏感词测试程序");//程序标题 setSize(600,400); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } publicvoidclose(){ this.dispose(); }classSizeChange2implementsActionListener{ publicvoidactionPerformed(ActionEvente){ if(e.getSource()==jbutton01) { close(); newMainGUI(); } elseif(e.getSource()==jbutton02) { close(); newmodiGUI(); } elseif(e.getSource()==jbutton03) { System.exit(0); }}}}classmodiGUIextendsJFrame{//敏感词管理模块 JButtonjbutton,jbutton1,jbutton2; JPaneljp1,jp2; JTextAreajta; JLabeljl; JTextFieldjtf; Containercontent; publicmodiGUI(){ content=getContentPane(); jp1=newJPanel(); jp2=newJPanel(); jbutton=newJButton("选择文件");//选择文件按钮 jbutton1=newJButton("保存");//保存按钮 jbutton2=newJButton("返回");//返回按钮 jta=newJTextArea(15,30); jl=newJLabel("文件路径名称:");//显示文件路径 jtf=newJTextField(20); jp1.setLayout(newBorderLayout()); jp1.add(newJScrollPane(jta)); jp2.add(jl); jp2.add(jtf); jp2.add(jbutton); jp2.add(jbutton1); jp2.add(jbutton2); content.add(jp1,BorderLayout.CENTER); content.add(jp2,BorderLayout.SOUTH); jbutton.addActionListener(newSizeChange3()); jbutton1.addActionListener(newSizeChange3()); jbutton2.addActionListener(newSizeChange3()); setTitle("敏感词程序");//程序标题 setSize(600,400); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } publicvoidclose(){ this.dispose(); }classSizeChange3implementsActionListener{ publicvoidactionPerformed(ActionEvente){ if(e.getSource()==jbutton) { JFileChooserchooser1=newJFileChooser();intreturnVal=chooser1.showOpenDialog(modiGUI.this); if(returnVal==JFileChooser.APPROVE_OPTION) { Stringstr=chooser1.getSelectedFile().getPath(); jtf.setText(str); try{ Filefile=newFile(str); intnum=(int)file.length(); charch[]=newchar[num]; FileReaderfr=newFileReader(str); while((fr.read(ch))!=-1) { Stringhhh=newString(ch); jta.setText(hhh); } fr.close(); }catch(Exceptioneee){ jta.setText(eee.toString()); } } } if(e.getSource()==jbutton1){ Stringfilepath=jtf.getText(); Stringfilecontent=jta.getText(); try{ FileWriterfw=newFileWriter(filepath); fw.write(filecontent); JOptionPane.showMessageDialog(null,"敏感词保存成功","成功提示对话框",JOptionPane.INFORMATION_MESSAGE);//弹出设定 jta.setText(""); fw.close();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习主题单元9第22课时热学计算课件
- 《陋室铭》微课教学设计
- 生产数据安全与隐私保护
- 聘请人力资源专员协议书
- 油漆尘毒防护指南
- 家具定制金箔施工合同
- 临时销售顾问聘用协议
- 体育事业单位员工聘用合同模板
- 云云电子合同服务期合同
- 建筑隧道工程施工合同
- YDT 4565-2023物联网安全态势感知技术要求
- 营养风险筛查与评估课件(完整版)
- 【工商企业管理专业实操实训报告2600字(论文)】
- 主播薪资核算方案
- 【正版授权】 ISO 3585:1998 EN Borosilicate glass 3.3 - Properties
- 凉山彝族自治州2022-2023学年七年级上学期期末地理试题【带答案】
- 高中数学学业水平考试(合格考)知识点总结
- 机电仪运维中心巡检工作提升方案
- 《道德与法治》三年级学情分析
- 肥胖症中医诊疗方案专家共识(2022版)
- (高清版)WST 402-2024 临床实验室定量检验项目参考区间的制定
评论
0/150
提交评论