2015-03-06 2 views
0

Принимая ввод, мое текстовое поле начинает удаление ввода и генерирует исключение java.io.EOFException. В моем keyReleased обработчике событий count остается 0; обработчик не делает count++.java.io.EOFException и проблемы с подсчетом в keyReleased handler

Может кто-нибудь предложить, что я делаю неправильно и как решить эту проблему?

public void keyReleased(KeyEvent e) { 
    int count = 0; 
    result = null; 
    setVisible(false); 
    matchingVector.clear(); 
    String searchTerm = dialog.getField(getSearchFieldNumber()); 
    System.out.println(searchTerm); 
    if (searchTerm.length() > 0) { 
     listModel.removeAllElements(); 
     System.out.println(recordVector.size()); 
     for (int i = 0; i < recordVector.size(); i++) { 
      if (matchesCriteria(recordVector.get(i), searchTerm)) { 
       matchingVector.add(recordVector.get(i)); 
       count++; 
      } 
     } 
     if (count == 0) { 
      clearFields(); 
      System.out.println("Bad-bad things happen here?"); 
     } else if (count == 1) { 
      updateFields(matchingVector.get(0)); 
     } else if (count > 1) { 
      validate(); 
      setVisible(true); 
      setSize(WIDTH, Math.min(500, matchingVector.size() * ROW_HEIGHT)); 
     } 
    } else { 
     clearFields(); 
    } 

} 
+0

Пожалуйста, ваши clearFields метод(). – Uli

+0

Если счетчик остается '0' условие' matchesCriteria (recordVector.get (я), SEARCHTERM) 'никогда не возвращает истинные – Zion

+0

частные недействительные clearFields() { \t \t // очистить все поля в диалоговом \t \t dialog.setField (2, ""); \t \t dialog.setField (3, ""); \t \t dialog.setField (4, ""); \t} @Uli –

ответ

0

Вы пропускаете открывающую скобку для ELSE в matchesCriteria
follwing код должен работать
private boolean matchesCriteria(Record record, String searchTerm){ Booking booking = (Booking) record; if(booking.className.toLowerCase().contains(searchTerm.toLowerCase())){ listModel.addElement(booking.className); return true;} else{return false;} }

+0

та же ошибка, не решена ??? –

+0

он по-прежнему находится в count = 0 с этим выходом –

+0

Но он все равно бросает 'java.io.EOFException', и если да, то pls отправляют' Stacktrace' – Zion

Смежные вопросы