Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2007, 03:31
evaht
 
Fecha de Ingreso: noviembre-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 0
Cambiar texto de color en un JTextArea

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!