Hallo,
ich habe für meine Tabelle einen eigenen Renderer für Boolean Objekte geschrieben. Dieser beinhaltet anstelle der Checkbox ein JLabel (mit Icon). Wenn ich nun auf das Label klicke erscheint für einen kurzen Augenblick die Checkbox und zeigt erst danach das andere Icon an.
Code:
Renderer
setValueAt() (Auf das Wesentlichste reduziert)
Was kann ich tun damit die Checkbox nicht sichtbar wird?
Danke
Zenic
ich habe für meine Tabelle einen eigenen Renderer für Boolean Objekte geschrieben. Dieser beinhaltet anstelle der Checkbox ein JLabel (mit Icon). Wenn ich nun auf das Label klicke erscheint für einen kurzen Augenblick die Checkbox und zeigt erst danach das andere Icon an.
Code:
Renderer
Java:
public class IconRenderer extends JLabel implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(final JTable table, Object valid, boolean isSelected, boolean hasFocus, int row, int column) {
setOpaque(true);
setHorizontalAlignment(SwingConstants.CENTER);
if (isSelected)
setBackground(table.getSelectionBackground());
else
setBackground(table.getBackground());
if ((Boolean) valid) {
setIcon(icon1);
return this;
} else {
setIcon(icon2);
return this;
}
}
}
setValueAt() (Auf das Wesentlichste reduziert)
Java:
public void setValueAt(Object aValue, int row, int column) {
Object x = getSelectedCode(row);
switch (column) {
case 0:
x.setValid((Boolean) aValue);
fireTableCellUpdated(row, column);
return;
default:
return;
}
Was kann ich tun damit die Checkbox nicht sichtbar wird?
Danke
Zenic