Swing Jtable CellRenderer Parameter uebergeben

mugsawaay

Aktives Mitglied
hallo

hier nachfolgender Code, der funktioniert
Java:
import java.awt.Color;
import java.awt.Component;

import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;

public class RestTableCellRenderer extends JLabel implements TableCellRenderer {
  public Component getTableCellRendererComponent(JTable restTable, Object value, boolean isSelected, 
                                                 boolean hasFocus, int row, int column) {
     setHorizontalAlignment(DefaultTableCellRenderer.RIGHT);
     
    // Code
     setText(value.toString());
     if ((int)value > 99 && column == 1)
    	 setForeground(Color.RED);
     else
    	 setForeground(Color.BLACK);
     setText(value.toString());
     
     return this;
  }
}

Frage: wie kann ich dem RestTableCellRenderer einen Parameter übergeben , welche ich im Code abfragen kann?
 
Java:
public class RestTableCellRenderer extends JLabel implements TableCellRenderer 
{
    privatee final Object parameter;

    public RestTableCellRenderer (final Object parameter)
    {
        super();
        this.parameter = parameter;
    }

    public Object getParameter()
    {
        return this.parameter;
    }

    public Component getTableCellRendererComponent(...) 
    {
        if(this.parameter...)
    }
}

Parameter kann natürlich alles sein
 
ja, vielen Dank funktioniert genauso wie es soll.

Ehrlich gesagt verstehe ich 2 Sachen nicht.
1. wenn ich die Zeile: super(); weglasse funktioniert es immer noch

2. die getParameter Methode brauch man doch nur, wenn der Parameter außerhalb dieser Klasse
benötigt wird, oder?
 
zu 1:
kann man auch weg lasen
Hab mir nur angewöhnt immer den Construktor der Super Klasse (in dem Fall JLabel) aufzurufen

Zu 2.
kann man auch weg lasen
(Dache du wolltest den Parameter von außen lesen)
 

Zurück
Oben