Здравствуйте, мне нужно написать "чат" на Java, используя потоки и GUI. Я не силен ни в том, ни в другом.
private class Receiver implements Runnable{
/**
* run() вызовется после запуска нити из конструктора клиента чата.
*/
public void run() {
while (!s.isClosed()) { //сходу проверяем коннект.
String line = null;
try {
line = socketReader.readLine(); // пробуем прочесть
} catch (IOException e) { // если в момент чтения ошибка, то...
// проверим, что это не банальное штатное закрытие сокета сервером
if ("Socket closed".equals(e.getMessage())) {
break;
}
System.out.println("Connection lost"); // а сюда мы попадем в случае ошибок сети.
close(); // ну и закрываем сокет (кстати, вызвается метод класса ChatClient, есть доступ)
}
if (line == null) { // строка будет null если сервер прикрыл коннект по своей инициативе, сеть работает
System.out.println("Server has closed connection");
close(); // ...закрываемся
} else { // иначе печатаем то, что прислал сервер.
System.out.println("Server:" + line);
}
}
}
Версия в консоли работает прекрасно, но... мои знания заканчиваются. Дальше мне нужно заполнить TextArea, которую мне сгенерировал NetBeans. Почему-то стыдно за следующую строчку, которую я дописываю сюда.
else { // иначе печатаем то, что прислал сервер.
jChatBox.setText(jChatBox.getText() + line)
}
Не знаю какую ошибку я допустил, но, думаю что очень глупую. В итоге получаю NullPointerExeption на той самой строчке.
Подскажите мне, пожалуйста, как решить эту проблему. Заранее спасибо.