supongo, por lo que supuse, necesita algo más que JTextArea, para que pueda mostrar cosas diferentes en diferentes colores. Bueno, eso se puede hacer usando un JTextPane o un JEditorPane.
Aquí le proporciono un ejemplo simple de cómo proporcionar JTextPane con un mensaje específico para imprimir y el color de ese mensaje.
puede cambiar los colores de cualquier texto de entrada, de modo que pueda mostrar distintos colores para cada palabra.
// This is in javax.swing.JTextPane;
JTextPane tPane = new JTextPane();
/* Method to put text in this textPane with colour of your choice
* For this you need these classes.
* import javax.swing.text.AttributeSet;
* import javax.swing.text.SimpleAttributeSet;
* import javax.swing.text.StyleConstants;
* import javax.swing.text.StyleContext;
*/
protected static void appendToPane(String msg, Color c,String f)
{
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);
aset = sc.addAttribute(aset, StyleConstants.FontFamily, f);
int len = tPane.getDocument().getLength();
tPane.setCaretPosition(len);
tPane.setCharacterAttributes(aset, false);
tPane.replaceSelection(msg);
}
Así que si usted llama como esto appendToPane("HI", Color.RED, "Lucida Console")
se mostrará HI en rojo con la fuente especificada. y si llama al appendToPane(" THERE", Color.BLACK, "TIMES NEW ROMAN")
, entonces HABRÁ impreso en color negro en el mismo lugar al lado de Hola.
¿Editor basado en web? – Upperstage