version: 6.0.3
I am trying to write a TableCellRenderer which renders a
com.ulcjava.base.shared.internal.Anything
Here is my code:
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
JLabel rendererLabel = new JLabel();
rendererLabel.setOpaque(true);
if (value != null){
Vector anything = (Vector) value;
rendererLabel.setText(anything.get(0).toString());
rendererLabel.setForeground(getColor(anything.get(1).toString()));
rendererLabel.setBackground(getColor(anything.get(2).toString()));
rendererLabel.setHorizontalAlignment(Integer.parseInt(anything.get(3).toString()));
rendererLabel.setToolTipText(anything.get(4).toString());
}
else {
rendererLabel.setText("-");
rendererLabel.setToolTipText("");
rendererLabel.setHorizontalAlignment(JLabel.CENTER);
}
return rendererLabel;
}
I originally tried to cast the value to Anything but I received a
ClassCastException saying that value is a Vector.
Now, I am getting this error:
Exception in thread "AWT-EventQueue-3"
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
at java.util.Vector.get(Unknown Source)
at
com.tomax.ta.ulc.timecards.ui.TimeRollupCellRenderer.getTableCellRendererComponent(TimeRollupCellRenderer.java:58)
I have debugged through my method public Object getValueAt(int row, int col)
on the server to make sure it is not returning an empty Vector. Any help as to
why rendering is not working would be greatly appreciated.
Thanks,
BJ Tenney
Tomax Corporation