【问题标题】:Java GUI - Error messages keep popping upJava GUI - 不断弹出错误消息
【发布时间】:2014-05-22 02:42:50
【问题描述】:

这部分我需要帮助

        try{    
                FileReader fr = new FileReader("C:\\test.txt");
                BufferedReader br = new BufferedReader(fr);        

              String text = txtKeyword.getText();  
              String line = null;
              boolean hasError = false;

            while ((line = br.readLine()) != null) {                                    

            if(line.contains(text)){
                String newline = "\n";
                jTextArea1.append(text + newline);
                hasError = false;
            }
            else{
                hasError = true;
            }

        }
            br.close();
            if (hasError) {
                   System.out.println("Text not found");
                } 
            }catch(IOException e){
            System.out.println("File not found");
        }   }

好的,我按照指示做了,但每次获得正确的关键字时,我仍然收到一条错误消息。有没有办法改变它?我的问题有什么解决方案吗?或者,如果不使用 null,我还应该使用什么?请指导我.. 这里是 Java 新手

【问题讨论】:

  • 帮助您调试和帮助我们理解您的问题的建议:1) 您有一个庞大的类,您应该有 3-4 个更小的更易于管理和单独测试 类。这将帮助您更好地隔离问题,并允许您发布更少的代码,只发布相关代码。 2)你忽略了例外——这是非常愚蠢的,你几乎不应该做的事情。 3)您的代码格式非常糟糕,使我们难以理解您的代码并为您提供帮助。请严格小心并与您的缩进保持一致。 ...续...
  • .... 一个空行在任何地方都绰绰​​有余,而您拥有的太多空格会让人分心。 4) 不相关的,但你几乎不想使用空布局和setBounds(...)。几乎可以肯定这是一个新手代码,因为它最初似乎是创建 GUI 的更简单和更好的方法,但随着经验的发展,您会发现完全相反的情况。请改用布局管理器。
  • 感谢您的建议,但我还是 Java 新手。所以,绝对是新手。所以,我已经编辑了我的代码,但每次我得到正确的关键字时,我仍然会收到一条错误消息。有没有办法改变它?有什么解决办法吗?
  • 您的班级太大,格式太差,我无法掌握问题所在。请至少努力使您的缩进标准化。每个和块有四个空格,每个块上的所有代码都在同一级别。去掉多余的空行——每行一行。然后使用调试语句或调试器来隔离错误。

标签: java swing io file-search


【解决方案1】:

永远不要忽略异常

    FileReader fr = null;
    try {
        fr = new FileReader("C:\\test.txt");
    } catch(IOException e){

          // do something here - no point in continuing
    }

如果您只想要一条错误消息,那么

 boolean hasError = true;
 while ((line = br.readLine()) != null) {                                    

    if(line.contains(text)){

        String newline = "\n";
        jTextArea1.append(text + newline);
        hasError = false;
    }
}

if (hasError) {
   System.out.println("Text not found");
} 

【讨论】:

  • 好的,我按照指示做了,但每次获得正确的关键字时,我仍然收到一条错误消息。有没有办法改变它?
  • 对不起,我已经编辑了我的答案。您不想在ifelse 中都有hasError = ...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-23
  • 1970-01-01
相关资源
最近更新 更多