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:
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:
Code:
this.table.getTableHeader().setDefaultRenderer(new MultiLineHeaderRenderer());
Code:
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;
}
}