Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 12-feb-2007, 02:31   #1 (permalink)
evaht ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2006
Mensajes: 35
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!
evaht está desconectado   Responder Citando
Antiguo 12-feb-2007, 02:54   #2 (permalink)
chuidiang tiene algunos puntos positivos de karma
 
Avatar de chuidiang
 
Fecha de Ingreso: octubre-2004
Mensajes: 721
Re: Cambiar texto de color en un JTextArea

Hola:

JTextArea es para texto simples y no permite muchas florituras. Prueba con JTextPane o JTextEditor.

Se bueno.
chuidiang esta en línea ahora   Responder Citando
Antiguo 12-feb-2007, 03:44   #3 (permalink)
evaht ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2006
Mensajes: 35
Triste Re: Cambiar texto de color en un JTextArea

Muchas gracias!

Ya he cambiado a JTextPane, pero ahora tengo un par de problemas... :S

1º No consigo cambiarle el tamaño al componente, he probado con setSize y con setPreferredSize, pero nada.

2º Antes usaba los métodos setLineWrap() y setWrapStyleWord() para que me dividiera el texto en varias líneas si superaba la anchura del JTextArea, pero estos métodos no existen en JTextPane. ¿Qué puedo hacer? ¿Hay alguna forma de conseguir esto con JTextPAne o tengo que escoger entre tener líneas de colores y líneas cortadas automáticamente?

Última edición por evaht; 12-feb-2007 a las 04:28.
evaht está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:29.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93