Article View: borland.public.jbuilder.java.swing
Article #12864Changing cell foreground after edit
From: Ronald Mazyck
Date: Tue, 27 Oct 1998 00:00
Date: Tue, 27 Oct 1998 00:00
74 lines
3152 bytes
3152 bytes
I want to change the foreground of the cellRenderer when the data in
the cell has been chaged. I subclassed the JTable and overwrote
several methods. Can some tell me what I am missing.
public TableCellRenderer getCellRenderer(int row, int column)
{
TableColumn tableColumn = getColumnModel().getColumn(column);
TableCellRenderer renderer = tableColumn.getCellRenderer();
DefaultTableCellRenderer rend = new DefaultTableCellRenderer();
if (renderer == null)
{
return rend;
}
else
{
return renderer;
}
}
public void editingStopped(ChangeEvent e)
{
TableCellEditor editor =
getCellEditor(editingRow,editingColumn);
if (editor != null)
{
try
{
TableModel model = (TableModel)getModel();
int editingRow = getEditingRow();
int editingColumn = getEditingColumn();
Object value = editor.getCellEditorValue();
Class columnClass = model.getColumnClass(editingColumn);
if(columnClass == java.lang.Integer.class)
{
Integer aValue = new Integer((String)value);
model.setValueAt(aValue,editingRow,editingColumn);
}
else if(columnClass == java.lang.Float.class)
{
Float aValue = new Float((String)value);
model.setValueAt(aValue,editingRow,editingColumn);
}
else if(columnClass == java.lang.String.class)
{
String aValue = (String)value;
model.setValueAt(aValue,editingRow,editingColumn);
}
else
{
model.setValueAt(value,editingRow,editingColumn);
}
removeEditor();
fireEditedCell(editingRow,editingColumn);
}// end try
catch(Exception ce)
{
ce.printStackTrace(System.err);
}//end catch
}//end if
}//end editingStoped
public void fireEditedCell(int row, int col)
{
Class rendererClass = (getCellRenderer(row,col)).getClass();
if(rendererClass == DefaultTableCellRenderer.class)
{
DefaultTableCellRenderer ren = (DefaultTableCellRenderer)
getCellRenderer(row,col);
ren.setForeground(Color.red);
ren.setBackground(Color.red);
}
}
Technical Details
Message-ID:
<36362FDE.D930161F@prb.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 111d45,92725cedc5e8d089,start X-Google-Attributes: gid111d45,public From: Ronald Mazyck <rmazyck@prb.net> Subject: Changing cell foreground after edit Date: 1998/10/27 Message-ID: <36362FDE.D930161F@prb.net> X-Deja-AN: 405679928 Content-Transfer-Encoding: 7bit Organization: Another Netscape Collabra Server User Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 Newsgroups: borland.public.jbuilder.java.swing