Hola!
Tengo una aplicación de chat en la que se muestra el texto escrito y el recibido en un JTextArea. Me gustaría cambiar el color del texto de los mensajes recibidos para distinguirlos más facilmente de los enviados, he probado con los métodos setSelectionColor() y setSelectedTextColor(), pero no he conseguido nada, ¿alguien podría echarme una mano con esto?
Aquí está el código de los dos métodos que muestran los mensajes enviados y recibidos en la ventana de texto:
//Método que muestra los mensajes recibidos
public void displayRemoteText(String text) {
String oldText = chatTextArea.getText();
String newText;
chatTextArea.setFont(new Font("Helvetica", Font.BOLD, 13));
if (oldText == null || oldText.trim().equals("")) {
//newText = contact + " dice:\n" + text + "\n";
newText = contact + " dice:\n" + text;
}
else {
newText = oldText + "\n\n" + contact + " dice:\n" + text;
}
chatTextArea.setSelectionColor(Color.black);
chatTextArea.setText(newText);
chatTextArea.setCaretPosition(chatTextArea.getText ().length());
}
//Método que muestra los mensajes enviados
public void displayLocalText(String text) {
String oldText = chatTextArea.getText();
String newText;
chatTextArea.setFont(new Font("Helvetica", Font.BOLD, 13));
if (oldText == null || oldText.trim().equals("")) {
newText = "Tú dices:\n" + text;
}
else {
newText = oldText + "\n\n" + "Tú dices:\n" + text;
}
chatTextArea.setSelectionColor(Color.RED);
chatTextArea.setText(newText);
chatTextArea.setCaretPosition(chatTextArea.getText ().length());
messageTextArea.setText("");
}
Muchas gracias!