Eclipse 3.2 里的提示错 急急急急急急急!

问题描述

提示的错误在:(1)、18行里面提示:serializable类WordFrequencyStatFrame未声明类型为long的静态终态serialVersionUID字段(2)、还有187行没有为类型WordsTable定义方法getWords()importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjava.util.*;/***SampleapplicationusingFrame.**@authorZHG工作室Email:wudazhg@163.com*@version1.0008/03/23*/publicclassWordFrequencyStatFrameextendsJFrame{JToolBarjtb=newJToolBar();JButtonjb1=newJButton("导入文件");JButtonjb2=newJButton("统计词频");JTextAreajTextArea1=newJTextArea();JTextAreajTextArea2=newJTextArea();JSplitPanejsp=newJSplitPane();JScrollPanep1=newJScrollPane();JScrollPanep2=newJScrollPane();JLabelstatusBar=newJLabel();Containercp=getContentPane();/***Theconstructor.*/publicWordFrequencyStatFrame(){MenuBarmenuBar=newMenuBar();MenumenuFile=newMenu();MenuItemmenuFileExit=newMenuItem();menuFile.setLabel("文件");menuFileExit.setLabel("退出");//Addactionlistener.forthemenubuttonmenuFileExit.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){WordFrequencyStatFrame.this.windowClosed();}});menuFile.add(menuFileExit);Menum1=newMenu("操作");MenuItemmi1=newMenuItem("导入文件");mi1.addActionListener(newImportFile_Listener(this));m1.add(mi1);MenuItemmi2=newMenuItem("统计词频");mi2.addActionListener(newStatWordFrequency_Listener(this));m1.add(mi2);menuBar.add(menuFile);menuBar.add(m1);jb1.addActionListener(newImportFile_Listener(this));jb2.addActionListener(newStatWordFrequency_Listener(this));jtb.add(jb1);jtb.add(jb2);cp.add(jtb,BorderLayout.NORTH);setTitle("词频统计");setMenuBar(menuBar);setSize(newDimension(800,600));//Addwindowlistener.this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){WordFrequencyStatFrame.this.windowClosed();}});jsp.setDividerLocation(500);jTextArea2.setEditable(false);p1.getViewport().add(jTextArea1);p2.getViewport().add(jTextArea2);jsp.setLeftComponent(p1);jsp.setRightComponent(p2);cp.add(jsp);statusBar.setFont(newjava.awt.Font("Dialog",0,11));statusBar.setForeground(newColor(221,14,187));statusBar.setBorder(BorderFactory.createLoweredBevelBorder());statusBar.setText("Copyright(c)ZHG工作室2008E-mail:wudazhg@163.com"+"AllRightsReserved中国·武汉·珞珈山");cp.add(statusBar,BorderLayout.SOUTH);}/***Shutdownprocedurewhenrunasanapplication.*/protectedvoidwindowClosed(){System.exit(0);}voidstat(Stringtext){char[]w=newchar[501];WordsTablewt=newWordsTable();try{StringReaderin=newStringReader(text);while(true){intch=in.read();if(Character.isLetter((char)ch)){intj=0;while(true){ch=Character.toLowerCase((char)ch);w[j]=(char)ch;if(j<500)j++;ch=in.read();if(!Character.isLetter((char)ch)){Stringword=newString(w,0,j);if(!wt.isStopWord(word)){//如果不是停用词,则进行统计word=wt.getStem(word);//提取词干wt.stat(word);}break;}}}if(ch<0)break;}in.close();jTextArea2.setText("═════════════════");jTextArea2.append("n下面结果中单词(这里未计停用词表中同形的单词)的总个数为:"+wt.getCount());jTextArea2.append("n词频(这里仅计每个单词词根在文中出现的次数)列表如下:");jTextArea2.append("n═════════════════nn");Iteratoriter=wt.getWords();while(iter.hasNext()){Wordwor=(Word)iter.next();jTextArea2.append("n"+wor.getWord()+":"+wor.getCount());}jTextArea2.append("n═════════════════");}catch(Exceptione){System.out.println(e);}}}classImportFile_ListenerimplementsActionListener{WordFrequencyStatFrameadaptee;publicImportFile_Listener(WordFrequencyStatFrameadaptee){this.adaptee=adaptee;}//文件选择对话框publicvoidactionPerformed(ActionEvente){JFileChooserjfc=newJFileChooser();inti=jfc.showOpenDialog(null);if(i==JFileChooser.APPROVE_OPTION){try{Stringstr="";Filef=jfc.getSelectedFile();FileInputStreamin=newFileInputStream(f);BufferedReaderr=newBufferedReader(newInputStreamReader(in));adaptee.jTextArea1.setText("");adaptee.jTextArea2.setText("");while((str=r.readLine())!=null){adaptee.jTextArea1.append(str+"n");//末尾加上java的JTextArea中的行结束符}}catch(Exceptionexc){exc.printStackTrace();//调试}}}}classStatWordFrequency_ListenerimplementsActionListener{WordFrequencyStatFrameadaptee;publicStatWordFrequency_Listener(WordFrequencyStatFrameadaptee){this.adaptee=adaptee;}publicvoidactionPerformed(ActionEvente){Dated1=newDate();adaptee.stat(adaptee.jTextArea1.getText());Dated2=newDate();Toolkit.getDefaultToolkit().beep();JOptionPane.showMessageDialog(null,"用时"+(d2.getTime()-d1.getTime())+"毫秒!");}}

解决方案

解决方案二:
第一个问题是因为你写的类继承了JFrame类,而JFrame类的顶层父类是Component类,Component实现了Serializable借口,该接口要求你最好定义一个staticfinal的long类型的serialVersionUID,主要是用于序列化的时候做版本控制。第二个问题很明显你的类引用了WordsTable和Word类,而这两个类你没有import进来
解决方案三:
引用1楼mochibing的回复:

第一个问题是因为你写的类继承了JFrame类,而JFrame类的顶层父类是Component类,Component实现了Serializable借口,该接口要求你最好定义一个staticfinal的long类型的serialVersionUID,主要是用于序列化的时候做版本控制。第二个问题很明显你的类引用了WordsTable和Word类,而这两个类你没有import进来

补充:第一个问题可以在你的class中加入privatestaticfinallongserialVersionUID=1L;来解决,其中1L表示你这个类的版本,具体的数字可以自己定义
解决方案四:
(1)、serialVersionUID字段,会提示警告,若不进行序列化,则并不影响程序运行。(2)、还有187行没有为类型WordsTable定义方法getWords()一种情况:WordsTable中未定义getWords()方法二种情况,没有导入WordsTable类。导入WordsTable类快捷键为:Ctl+Shif+O

时间: 2024-10-25 12:25:18

Eclipse 3.2 里的提示错 急急急急急急急!的相关文章

ssh-Struts里的报错,我看不懂,该怎么解决?

问题描述 Struts里的报错,我看不懂,该怎么解决? 解决方案 你要列出错误提示才知道.这么贴个图鬼才知道什么问题 解决方案二: 你用的是struts1啊,看图里面显示struts.xml配置文件有红叉,说明xml内容有错误,可以定位到错误地方看下提示信息是什么,相应的修正就行了.如果运行正常说明没有问题,这个红叉可能只是你的Eclipse关于xml文档的校验比较严格,不一定会有影响.祝好!

[Eclipse]同步CVS时总是提示错误

我在一台机器上使用CVSNT建立了CVS库,并把项目提交到库中没有问题. 回到家修改了一些代码和配置文件,再同步项目的时候,处理到struts-config.xml时提示: Error fetching file revisions 不明白为什么,然后上google查了一下,找到两个相关问题的地址. 一个是eclipse cvs的faq,上面关于这个问题的解释如下: This error, or an error stating that "An error has occurred proce

java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决

问题描述 java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决 public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) { // final VirementResultInfo result = null; TimerTask task = new TimerTask() { @Override public v

eclipse-使用Eclipse编写jsp的js提示问题

问题描述 使用Eclipse编写jsp的js提示问题 今天发现一个好坑爹的问题,在eclipse中,在动态web项目的jsp和html中,都可以按 Alt+/ 显示出提示:例如什么alert;document:等等提示,当时在java项目中的jsp和 html中就是死活不提示js代码.我当时考虑过,动态项目有提示,是不是因为它有什么 系统默认包或者eclipse默认g它了什么设置,求解答 解决方案 是你没有设置js提示,http://jingyan.baidu.com/article/925f8

配置管理-eclipse创建J2ME首页项出现错误,急急急!

问题描述 eclipse创建J2ME首页项出现错误,急急急! 解决方案 插件重装一下,然后再尝试这个操作.

eclipse怎么设置方法的提示???

问题描述 eclipse怎么设置方法的提示??? eclipse怎么设置方法的提示???如图,像图片中那样的方法提示 还有这方法提示有木有什么快捷键,我的Ctrl+Space快捷键只会吧输入法切掉... 解决方案 Eclipse -> Window -> Perferences -> Java -> Editor -> Content Assist,右边最下面一栏找到 auto-Activation ,下面有三个选项,找到第二个"Auto activation tr

eclipse运行maven+ssm项目中报错。

问题描述 eclipse运行maven+ssm项目中报错. 四月 18, 2016 5:37:15 下午 org.springframework.context.support.AbstractApplicationContext refresh 警告: Exception encountered during context initialization - cancelling refresh attempt org.springframework.beans.factory.BeanCre

uiautomato...-在eclipse 导入uiautomator 源码报错

问题描述 在eclipse 导入uiautomator 源码报错 从csdn下载的uiautomator 源码,导入到eclipse的时候报错 auto share git projects has encountered a problem.....谁知道怎么搞? 解决方案 eclipse中乱码解决及注释模板导入及linux下eclipse导入源码导致源码编译报错Eclipse使用Maven导入Robotium源码后报错

eclipse纠错-Eclipse自动纠错和代码提示故障

问题描述 Eclipse自动纠错和代码提示故障 eclipse安装了ADT和CDT插件,最近突然不能提示代码了,在Preferences->Java->Editer->Content-Assist里面进行了相关设置也不行,恢复默认也不行,问题怎么解决. 解决方案 eclipse自动代码提示Eclipse代码自动提示关掉Eclipse的自动代码提示 解决方案二: http://blog.sina.com.cn/s/blog_7dbac12501019mbh.html