JTable - Schriftgröße lässt sich nicht über DefaultTableCellRenderer ändern?

Florian Strienz

Erfahrenes Mitglied
Hallo zusammen,

ich steh gerade auf dem Schlauch und google hat mich auch im Stich gelassen. Ich würde gerne die Verwendete Schriftart + Größe für den Inhalt einer Zelle meiner Tabelle ändern. Dazu habe ich folgenden Renderer geschrieben.

Code:
public class MyCellRenderer extends DefaultTableCellRenderer {

	@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
		

		setFont(new Font("Arial", Font.BOLD, 30));
		setBackground(Color.LIGHT_GRAY)
		setVerticalAlignment(JLabel.CENTER);
		setHorizontalAlignment(JLabel.CENTER);

		return super.getTableCellRendererComponent(table, value, isSelected,
				hasFocus, row, column);
	}
}

Es funktioniert alles, nur nicht setFont. Da ändert sich nichts an der Tabellenoptik. Bin für jeden Tipp dankbar. :)

Gruß
Flo
 
Moin!
So klappt es "besser":
Code:
public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        
                        
                JLabel c = (JLabel)super.getTableCellRendererComponent(table, value, isSelected,
                hasFocus, row, column);
        c.setFont(new Font("Arial", Font.BOLD, 30));
        c.setBackground(Color.LIGHT_GRAY);
        c.setVerticalAlignment(JLabel.CENTER);
        c.setHorizontalAlignment(JLabel.CENTER);

        return c;
    }
 
Hat geklappt! Vielen Dank. Da muss man erstmal drauf kommen, dann setzt der Default Renderer den Font neu und da ich diesen erst zum Schluss aufgerufen habe... oh Mann. :)
 
Zurück