# JTable Zeilenumbruch im Header



## eskimo328 (25. Mrz 2009)

Ich möchte in den Spaltenbeschriftungen Zeilenumbrüche haben. 

Ich hab zwar eine Lösung gefunden, allerdings sehen dann die HeaderSpalten anders aus wie bei meinen anderen Tabellen und verhält sich nicht mehr wie ein normaler Header (z.B. fährt man mit der Maus drüber ändert sich normalerweise die Farbe ein bisschen, klickt man drauf werden die Spalten zwar sortiert, aber es erscheint nicht der kleine Pfeil der anzeigt ob aufsteigend oder absteigend soritert wurde).

Gibt es noch andere Lösungen, sodass die Spalten ihr aussehen nicht verändern und man keinen unterschied merkt?

Hier meine bisherige Lösung:

```
this.table.getTableHeader().setDefaultRenderer(new MultiLineHeaderRenderer());
```


```
class MultiLineHeaderRenderer extends JTextArea implements TableCellRenderer
{
	private static final long serialVersionUID = 1L;

	public MultiLineHeaderRenderer()
	{			
		this.setOpaque(true);
		this.setForeground(UIManager.getColor("TableHeader.foreground"));
		this.setBackground(UIManager.getColor("TableHeader.background"));
		this.setBorder(UIManager.getBorder("TableHeader.cellBorder"));
		this.setFont(UIManager.getFont("TableHeader.font"));
	}

	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
	{
		this.setText(value.toString());
			
		return this;
	}
}
```


----------



## max40 (25. Mrz 2009)

hast schon mal mi html versucht?
z.B. statt "line1 line2 line3" -> "<html>line1<br>line2<br>line3</html>"


----------



## eskimo328 (25. Mrz 2009)

hatte ich scho versucht und ging nicht.
habe es gerade nocheinmal versucht, jetzt gehts. ich hatte en anderen fehler drin, weshalb des it geht.
thx


----------

