Ich will einen eigenen CellRenderer für Zellen mit der Klasse CellState. Da hab ich statisch Icons gemalt. Diese Findet man in der Klasse FinalCellIcons. Diese habe ich auch schon darstellen können.
Nun will ich dass man in der Zelle mehrere Symbole sieht. In diesem Fall einfach ein Lämpchen das Rot resp. Grün leuchtet und ein Zahnrad als WORK. Später sollten noch mehr Symbole aneinandergereiht werden...
Diese sollten nun nebeneinander angereiht werden. Da dachte ich, da macht man in der Zelle ein JPanel mit einem FlowLayout und reiht die Symbole fröhlich aneinander... Doch das funktioniert nicht!!!
Was ist an meinem Lösungsansatz falsch? sieht jemand einen Fehler im Code?
Danke für das durchlesen des Kauderwelsch ;-)
Nun will ich dass man in der Zelle mehrere Symbole sieht. In diesem Fall einfach ein Lämpchen das Rot resp. Grün leuchtet und ein Zahnrad als WORK. Später sollten noch mehr Symbole aneinandergereiht werden...
Diese sollten nun nebeneinander angereiht werden. Da dachte ich, da macht man in der Zelle ein JPanel mit einem FlowLayout und reiht die Symbole fröhlich aneinander... Doch das funktioniert nicht!!!
Was ist an meinem Lösungsansatz falsch? sieht jemand einen Fehler im Code?
Danke für das durchlesen des Kauderwelsch ;-)
Code:
@SuppressWarnings("serial")
public class MyCellIconRenderer extends JPanel implements
TableCellRenderer
{
private JLabel label;
public NewSignalplanCellIconRenderer()
{
super(new FlowLayout());
label = new JLabel();
}
public Component getTableCellRendererComponent(JTable table, Object object,
boolean arg2, boolean arg3, int row, int column)
{
if (object == null)
return this;
label.setIcon(FinalCellIcons.RED);
add(label);
CellState cell = (CellState) object;
if (cell.isActive())
{
label.setIcon(FinalCellIcons.GREEN);
add(label);
}
if (cell.isWorking())
{
label.setIcon(FinalCellIcons.WORK);
add(label);
}
return this;
}