Я пытаюсь добавить текст к JTextArea
в NetBeans из внутреннего класса (в частности, класса потока). Я написал это утверждение:
jTextArea1.append("....");
Это хорошо работает во внешнем классе, но ничего не происходит внутри внутреннего класса! Оператор пропущен, и следующие операторы работают хорошо!
Внутри основного метода во внешнем классе:
try{
listeningSocket = new ServerSocket(5555);
dataSocket = listeningSocket.accept();
socketOut = new PrintWriter(dataSocket.getOutputStream(),true);
socketIn = new BufferedReader(new InputStreamReader(dataSocket.getInputStream()));
ChatServerWindow c = new ChatServerWindow();
ChatServerWindow.ClientHandlerThread clientThread = c.new ClientHandlerThread(dataSocket);
Thread t = new Thread (clientThread);
t.start();
}
catch (Exception ex) {
System.err.println("Error while connecting");
System.exit(1);
}
Внутри внутреннего класса:
public void run() {
try{
dataIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(true)
{
messageFromClient = dataIn.readLine();
if(messageFromClient!=null)
{
//This statement is not working
jTextArea1.append("Client: " + messageFromClient + "\n");
}
}
}
catch(IOException ex)
{
System.err.println("Error while communicating with client");
System.exit(1);
}
}
Что мне делать в этом случае? Спасибо