# Text farbig darstellen



## schmiddy123 (12. Jun 2007)

Hallo,

ich habe einen Text, von dem ich die erste Hälfte und die zweite Hälfte in verschiedenen Farben in einem Textfeld darstellen will. Leider blicke ich nicht so ganz wie. Nach dem, was ich bisher herausgefunden habe, müsste es mit einer JTextPane oder JEditorPane gehen. Beide sollen wohl auch HTML akzeptieren, deshalb habe ich folgendes probiert:


```
String s = "<html><body>[b]Teil1[/b]Teil2</body></html>
textPane.setText(s);
```

um einfach mal die erste Hälfte fett und die zweite nicht fett zu machen. Das tut aber leider nicht.

Es kann auch anders sein als mit HTML (wäre eigentlich sogar geschickter), ich will halt nur verschiedene Textzeilen in verschiedenen Farben haben. Kann mir jemand helfen?

Grüße, Chris


----------



## kleiner_held (12. Jun 2007)

Schau mal im Swing Tutorial zu JTextPane.

hier ein Beispiel wie du ansetzen kannst:

```
public class Test
{
  public static void main(String[] args)
  {
    String teil1 = "Teil1\n";
    String teil2 = "Teil2";

    JTextPane textPane = new JTextPane();
    StyledDocument doc = textPane.getStyledDocument();
	
    Style blue = doc.addStyle("blue", null);
    StyleConstants.setForeground(blue, Color.BLUE);
    StyleConstants.setBold(blue, true);
	
    Style red = doc.addStyle("red", null);
    StyleConstants.setForeground(red, Color.RED);
	
    try
    {
      doc.insertString(doc.getLength(), teil1, blue);
      doc.insertString(doc.getLength(), teil2, red);
    }
    catch (BadLocationException e)
    {
      e.printStackTrace();
    }
	
    JFrame frame = new JFrame();
    frame.getContentPane().add(textPane);
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
  }
}
```


----------



## schmiddy123 (13. Jun 2007)

Perfekt, Danke! Ist genau was ich gesucht hab!


----------



## Waynes (19. Sep 2007)

kleiner_held hat gesagt.:
			
		

> Schau mal im Swing Tutorial zu JTextPane.
> 
> hier ein Beispiel wie du ansetzen kannst:
> 
> ...



Ich bekomme jede Menge FEhlermeldungen wegen den Styles ???


```
Severity and Description	Path	Resource	Location	Creation Time	Id
The method insertString(int, String, AttributeSet) in the type Document is not applicable for the arguments (int, String, Style)	Test/src	Test.java	line 31	1190215517312	28067
The method insertString(int, String, AttributeSet) in the type Document is not applicable for the arguments (int, String, Style)	Test/src	Test.java	line 32	1190215517312	28068
The method setBold(MutableAttributeSet, boolean) in the type StyleConstants is not applicable for the arguments (Style, boolean)	Test/src	Test.java	line 24	1190215517312	28064
The method setForeground(MutableAttributeSet, Color) in the type StyleConstants is not applicable for the arguments (Style, Color)	Test/src	Test.java	line 23	1190215517312	28063
The method setForeground(MutableAttributeSet, Color) in the type StyleConstants is not applicable for the arguments (Style, Color)	Test/src	Test.java	line 27	1190215517312	28066
Type mismatch: cannot convert from Style to Style	Test/src	Test.java	line 22	1190215517312	28062
Type mismatch: cannot convert from Style to Style	Test/src	Test.java	line 26	1190215517312	28065
```


----------

