<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507</link>
    <title>MATLAB Central Newsreader - Changing cell color in uitable</title>
    <description>Feed for thread: Changing cell color in uitable</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Tue, 19 Jun 2007 08:22:30 -0400</pubDate>
      <title>Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#378515</link>
      <author>YP</author>
      <description>Hello!&lt;br&gt;
Is it possible to change background color of the particular cell in&lt;br&gt;
uitable? If so how? Specifically I want to color the cell using user&lt;br&gt;
provided RGB values.&lt;br&gt;
I am using MATLAB 7.0.4.365 (R14) Service Pack 2 and Java 1.5.0 with&lt;br&gt;
Sun Microsystems Inc. Java HotSpot(TM) Client VM&lt;br&gt;
(mixed mode)&lt;br&gt;
&lt;br&gt;
I no very little Java and swing programming. I saw other posts&lt;br&gt;
related to coloring columns but then coloring cell was not very&lt;br&gt;
obvious.&lt;br&gt;
&lt;br&gt;
with regards,&lt;br&gt;
YP&lt;br&gt;
---</description>
    </item>
    <item>
      <pubDate>Tue, 19 Jun 2007 08:58:18 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#378522</link>
      <author>Yair Altman</author>
      <description>YP wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Hello!&lt;br&gt;
&amp;gt; Is it possible to change background color of the particular cell in&lt;br&gt;
&amp;gt; uitable? If so how? Specifically I want to color the cell using&lt;br&gt;
&amp;gt; user provided RGB values.&lt;br&gt;
&amp;gt; I am using MATLAB 7.0.4.365 (R14) Service Pack 2 and Java 1.5.0&lt;br&gt;
&amp;gt; with Sun Microsystems Inc. Java HotSpot(TM) Client VM&lt;br&gt;
&amp;gt; (mixed mode)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I no very little Java and swing programming. I saw other posts&lt;br&gt;
&amp;gt; related to coloring columns but then coloring cell was not very&lt;br&gt;
&amp;gt; obvious.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; with regards,&lt;br&gt;
&amp;gt; YP&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;br&gt;
&lt;br&gt;
Unfortunately, if you want to color specific cells based on content&lt;br&gt;
or some other logic, you need to define a user-class in Java. It's&lt;br&gt;
not difficult, but you need to know Java for this.&lt;br&gt;
&lt;br&gt;
Yair Altman</description>
    </item>
    <item>
      <pubDate>Wed, 20 Jun 2007 03:20:58 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#378667</link>
      <author>YP</author>
      <description>Hello!&lt;br&gt;
Is it possible to provide me with a code snippet?&lt;br&gt;
with regards,&lt;br&gt;
YP&lt;br&gt;
----&lt;br&gt;
&lt;br&gt;
&amp;nbsp;Yair Altman wrote:&lt;br&gt;
&amp;gt; Unfortunately, if you want to color specific cells based on content&lt;br&gt;
&amp;gt; or some other logic, you need to define a user-class in Java. It's&lt;br&gt;
&amp;gt; not difficult, but you need to know Java for this.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Yair Altman</description>
    </item>
    <item>
      <pubDate>Wed, 20 Jun 2007 05:02:53 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#378680</link>
      <author>Yair Altman</author>
      <description>YP wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Hello!&lt;br&gt;
&amp;gt; Is it possible to provide me with a code snippet?&lt;br&gt;
&amp;gt; with regards,&lt;br&gt;
&amp;gt; YP&lt;br&gt;
&amp;gt; ----&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Yair Altman wrote:&lt;br&gt;
&amp;gt;&amp;gt; Unfortunately, if you want to color specific cells based on&lt;br&gt;
&amp;gt; content or some other logic, you need to define a user-class in&lt;br&gt;
&amp;gt; Java. It's not difficult, but you need to know Java for this.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Yair Altman&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;br&gt;
&lt;br&gt;
You asked for it...&lt;br&gt;
&lt;br&gt;
ColoredFieldCellRenderer.java:&lt;br&gt;
==============================&lt;br&gt;
&lt;br&gt;
// ColoredFieldCellRenderer - Modified TableCellRenderer for&lt;br&gt;
input-file fields drop-down cells&lt;br&gt;
&lt;br&gt;
// Programmed by Yair M. Altman: altmany(at)gmail.com&lt;br&gt;
// $Revision: 1.6 $ $Date: 2007/05/07 07:26:40 $&lt;br&gt;
&lt;br&gt;
import java.awt.*;&lt;br&gt;
import java.util.*;&lt;br&gt;
import javax.swing.*;&lt;br&gt;
import javax.swing.table.*;&lt;br&gt;
&lt;br&gt;
public class ColoredFieldCellRenderer extends&lt;br&gt;
DefaultTableCellRenderer implements TableCellRenderer&lt;br&gt;
{&lt;br&gt;
	private Color _bgcolor = getBackground();&lt;br&gt;
	private int _eventTypeLookupColumn = -1;&lt;br&gt;
	private boolean _debug = false;&lt;br&gt;
	private boolean _disabled = false;&lt;br&gt;
	private Color _disabledColor = new Color(0.925F, 0.914F, 0.847F);&lt;br&gt;
// gray&lt;br&gt;
	private Hashtable _cellBgColorHashtable = new Hashtable();&lt;br&gt;
	private Hashtable _cellTooltipHashtable = new Hashtable();&lt;br&gt;
&lt;br&gt;
	public Component getTableCellRendererComponent(JTable table, Object&lt;br&gt;
value, boolean isSelected, boolean hasFocus, int row, int column)&lt;br&gt;
	{&lt;br&gt;
		JComponent cell = (JComponent)&lt;br&gt;
super.getTableCellRendererComponent(table, value, isSelected,&lt;br&gt;
hasFocus, row, column);&lt;br&gt;
		if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt; value:&lt;br&gt;
&quot; + value);&lt;br&gt;
&lt;br&gt;
		// Field cells may not be empty - indicate with the chosen bgcolor&lt;br&gt;
		boolean emptyCell = false;&lt;br&gt;
		String valueStr = &quot;&quot; + value;&lt;br&gt;
		if ((value == null) || (valueStr.trim().length() == 0))&lt;br&gt;
		{&lt;br&gt;
			emptyCell = true;&lt;br&gt;
			cell.setBackground(_bgcolor);&lt;br&gt;
		} else {&lt;br&gt;
			//valueStr = (String) value;&lt;br&gt;
			cell.setBackground(Color.white);&lt;br&gt;
		}&lt;br&gt;
&lt;br&gt;
		// If this field is irrelevant to the eventType, disable it and&lt;br&gt;
indicate with a gray bgcolor&lt;br&gt;
		if (_eventTypeLookupColumn &amp;gt;= 0)&lt;br&gt;
		{&lt;br&gt;
			String eventType = (String)&lt;br&gt;
table.getValueAt(row,_eventTypeLookupColumn);&lt;br&gt;
			if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt;&lt;br&gt;
eventType: &quot; + eventType);&lt;br&gt;
			if ((eventType != null) &amp;&amp; (eventType.equals(&quot;Target&quot;)) &amp;&amp;&lt;br&gt;
				((column == 6) || (column == 7)))	// &quot;Data Field/Value&quot; columns&lt;br&gt;
			{&lt;br&gt;
				cell.disable();&lt;br&gt;
				cell.setBackground(_disabledColor);&lt;br&gt;
				//table.setValueAt(&quot;N/A&quot;,row,6);&lt;br&gt;
				if ((valueStr == null) || (!valueStr.equals(&quot;N/A&quot;)))&lt;br&gt;
				{&lt;br&gt;
					//setText(&quot;N/A&quot;);&lt;br&gt;
					table.setValueAt(&quot;N/A&quot;,row,column);&lt;br&gt;
				}&lt;br&gt;
			} else {&lt;br&gt;
				cell.enable();&lt;br&gt;
			}&lt;br&gt;
		}&lt;br&gt;
		if (_disabled)&lt;br&gt;
		{&lt;br&gt;
			cell.disable();&lt;br&gt;
			cell.setBackground(_bgcolor);&lt;br&gt;
		}&lt;br&gt;
&lt;br&gt;
		// If this cell should have a specific color, then use it&lt;br&gt;
		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
		Color cellBgColor = (Color)&lt;br&gt;
_cellBgColorHashtable.get(rowColVector);&lt;br&gt;
		if (cellBgColor != null)&lt;br&gt;
			cell.setBackground(cellBgColor);&lt;br&gt;
&lt;br&gt;
		// If this cell is selected, then highlight with a light-blue color&lt;br&gt;
		if (isSelected) // &amp;&amp; !(cell.getBackground().equals(Color.white)))&lt;br&gt;
		{&lt;br&gt;
			//cell.setBackground(cell.getBackground().darker());&lt;br&gt;
			float[] rgb = cell.getBackground().getRGBComponents(null);&lt;br&gt;
			rgb[0] *= .8;&lt;br&gt;
			rgb[1] *= .8; // darken the R&amp;G components only, to highlight the&lt;br&gt;
blue component&lt;br&gt;
			cell.setBackground(new Color(rgb[0],rgb[1],rgb[2]));&lt;br&gt;
			cell.setForeground(Color.black);&lt;br&gt;
		}&lt;br&gt;
&lt;br&gt;
		// If this cell should have a specific tooltip, then use it&lt;br&gt;
		String cellTooltip = (String)&lt;br&gt;
_cellTooltipHashtable.get(rowColVector);&lt;br&gt;
		if ((cellTooltip == null) || (cellTooltip.length() == 0))&lt;br&gt;
		{&lt;br&gt;
			// No specific tooltip set, so use the cell's string value as the&lt;br&gt;
tooltip&lt;br&gt;
			if (value == null)&lt;br&gt;
				cell.setToolTipText(null);&lt;br&gt;
			else if (valueStr.length() &amp;gt; 200)&lt;br&gt;
			{&lt;br&gt;
				// Split long tooltip text into several smaller lines&lt;br&gt;
				String tipText = &quot;&amp;lt;html&amp;gt;&quot;;&lt;br&gt;
				int MAX_CHARS_PER_LINE = 150;&lt;br&gt;
				int strLen = valueStr.length();&lt;br&gt;
				for (int lineIdx=0; lineIdx &amp;lt;= strLen/MAX_CHARS_PER_LINE;&lt;br&gt;
lineIdx++)&lt;br&gt;
					tipText =&lt;br&gt;
tipText.concat(valueStr.substring(lineIdx*MAX_CHARS_PER_LINE,Math.min(&lt;br&gt;
(lineIdx+1)*MAX_CHARS_PER_LINE,strLen))).concat(&quot;&amp;lt;br&amp;gt;&quot;);&lt;br&gt;
				cell.setToolTipText(tipText);&lt;br&gt;
			}&lt;br&gt;
			else&lt;br&gt;
				cell.setToolTipText(valueStr);&lt;br&gt;
		}&lt;br&gt;
		else&lt;br&gt;
		{&lt;br&gt;
			cell.setToolTipText(cellTooltip);&lt;br&gt;
		}&lt;br&gt;
&lt;br&gt;
		return cell;&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public ColoredFieldCellRenderer()&lt;br&gt;
	{&lt;br&gt;
		this(new Color(0.925F, 0.914F, 0.847F)); // gray&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public ColoredFieldCellRenderer(Color bgcolor)&lt;br&gt;
	{&lt;br&gt;
		super();&lt;br&gt;
		_bgcolor = bgcolor;&lt;br&gt;
		//setOpaque(false);&lt;br&gt;
		setBackground(_bgcolor);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public ColoredFieldCellRenderer(float[] rgb)&lt;br&gt;
	{&lt;br&gt;
		super();&lt;br&gt;
		_bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
		setBackground(_bgcolor);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public ColoredFieldCellRenderer(float r, float g, float b)&lt;br&gt;
	{&lt;br&gt;
		super();&lt;br&gt;
		_bgcolor = new Color(r,g,b);&lt;br&gt;
		setBackground(_bgcolor);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public Color getBgColor()&lt;br&gt;
	{&lt;br&gt;
		return _bgcolor;&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setBgColor(Color color)&lt;br&gt;
	{&lt;br&gt;
		_bgcolor = color;&lt;br&gt;
		setBackground(_bgcolor);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setBgColor(float[] rgb)&lt;br&gt;
	{&lt;br&gt;
		_bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
		setBackground(_bgcolor);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setBgColor(float r, float g, float b)&lt;br&gt;
	{&lt;br&gt;
		_bgcolor = new Color(r,g,b);&lt;br&gt;
		setBackground(_bgcolor);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void resetBgColors()&lt;br&gt;
	{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cellBgColorHashtable.clear();&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void resetTooltips()&lt;br&gt;
	{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_cellTooltipHashtable.clear();&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setCellBgColor(int row, int column, Color color)&lt;br&gt;
	{&lt;br&gt;
		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
		if (color == null)&lt;br&gt;
			color = Color.white; // Hashtables cannot&lt;br&gt;
accept nulls...&lt;br&gt;
		_cellBgColorHashtable.put(rowColVector, color);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setCellTooltip(int row, int column, String text)&lt;br&gt;
	{&lt;br&gt;
		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
		//System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt; value: &quot; + text);&lt;br&gt;
		if (text == null)&lt;br&gt;
			text = &quot;&quot;; // Hashtables cannot&lt;br&gt;
accept nulls...&lt;br&gt;
		_cellTooltipHashtable.put(rowColVector, text);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public Color getCellBgColor(int row, int column)&lt;br&gt;
	{&lt;br&gt;
		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
		return (Color) _cellBgColorHashtable.get(rowColVector);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public String getCellTooltip(int row, int column)&lt;br&gt;
	{&lt;br&gt;
		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
		return (String) _cellTooltipHashtable.get(rowColVector);&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	private Vector getRowColVector(int row, int column)&lt;br&gt;
	{&lt;br&gt;
		Vector rowColVector = new Vector();&lt;br&gt;
		rowColVector.addElement(new Integer(row));&lt;br&gt;
		rowColVector.addElement(new Integer(column));&lt;br&gt;
		return rowColVector;&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setDebug(boolean flag)&lt;br&gt;
	{&lt;br&gt;
		_debug = flag;&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setDisabled(boolean flag)&lt;br&gt;
	{&lt;br&gt;
		_disabled = flag;&lt;br&gt;
	}&lt;br&gt;
&lt;br&gt;
	public void setEventTypeLookupColumn(int column)&lt;br&gt;
	{&lt;br&gt;
		_eventTypeLookupColumn = column;&lt;br&gt;
	}&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Sample usage in Matlab:&lt;br&gt;
=======================&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;warningBgColor = java.awt.Color(1,.4,.4); % light-red&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c = ColoredFieldCellRenderer(warningBgColor);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;table.getColumnModel.getColumn(1).setCellRenderer(c);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c.setCellBgColor(row,column,warningBgColor);&lt;br&gt;
&lt;br&gt;
Yair Altman</description>
    </item>
    <item>
      <pubDate>Wed, 20 Jun 2007 11:14:07 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#378747</link>
      <author>YP</author>
      <description>Hello Yair!&lt;br&gt;
Thank you for the code.&lt;br&gt;
YP&lt;br&gt;
-&lt;br&gt;
&amp;nbsp;Yair Altman wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; You asked for it...&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ColoredFieldCellRenderer.java:&lt;br&gt;
&amp;gt; ==============================&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; // ColoredFieldCellRenderer - Modified TableCellRenderer for&lt;br&gt;
&amp;gt; input-file fields drop-down cells&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; // Programmed by Yair M. Altman: altmany(at)gmail.com&lt;br&gt;
&amp;gt; // $Revision: 1.6 $ $Date: 2007/05/07 07:26:40 $&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; import java.awt.*;&lt;br&gt;
&amp;gt; import java.util.*;&lt;br&gt;
&amp;gt; import javax.swing.*;&lt;br&gt;
&amp;gt; import javax.swing.table.*;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public class ColoredFieldCellRenderer extends&lt;br&gt;
&amp;gt; DefaultTableCellRenderer implements TableCellRenderer&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; private Color _bgcolor = getBackground();&lt;br&gt;
&amp;gt; private int _eventTypeLookupColumn = -1;&lt;br&gt;
&amp;gt; private boolean _debug = false;&lt;br&gt;
&amp;gt; private boolean _disabled = false;&lt;br&gt;
&amp;gt; private Color _disabledColor = new Color(0.925F, 0.914F, 0.847F);&lt;br&gt;
&amp;gt; // gray&lt;br&gt;
&amp;gt; private Hashtable _cellBgColorHashtable = new Hashtable();&lt;br&gt;
&amp;gt; private Hashtable _cellTooltipHashtable = new Hashtable();&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public Component getTableCellRendererComponent(JTable table,&lt;br&gt;
&amp;gt; Object&lt;br&gt;
&amp;gt; value, boolean isSelected, boolean hasFocus, int row, int column)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; JComponent cell = (JComponent)&lt;br&gt;
&amp;gt; super.getTableCellRendererComponent(table, value, isSelected,&lt;br&gt;
&amp;gt; hasFocus, row, column);&lt;br&gt;
&amp;gt; if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt;&lt;br&gt;
&amp;gt; value:&lt;br&gt;
&amp;gt; &quot; + value);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; // Field cells may not be empty - indicate with the chosen&lt;br&gt;
&amp;gt; bgcolor&lt;br&gt;
&amp;gt; boolean emptyCell = false;&lt;br&gt;
&amp;gt; String valueStr = &quot;&quot; + value;&lt;br&gt;
&amp;gt; if ((value == null) || (valueStr.trim().length() == 0))&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; emptyCell = true;&lt;br&gt;
&amp;gt; cell.setBackground(_bgcolor);&lt;br&gt;
&amp;gt; } else {&lt;br&gt;
&amp;gt; //valueStr = (String) value;&lt;br&gt;
&amp;gt; cell.setBackground(Color.white);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; // If this field is irrelevant to the eventType, disable it and&lt;br&gt;
&amp;gt; indicate with a gray bgcolor&lt;br&gt;
&amp;gt; if (_eventTypeLookupColumn &amp;gt;= 0)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; String eventType = (String)&lt;br&gt;
&amp;gt; table.getValueAt(row,_eventTypeLookupColumn);&lt;br&gt;
&amp;gt; if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt;&lt;br&gt;
&amp;gt; eventType: &quot; + eventType);&lt;br&gt;
&amp;gt; if ((eventType != null) &amp;&amp; (eventType.equals(&quot;Target&quot;)) &amp;&amp;&lt;br&gt;
&amp;gt; ((column == 6) || (column == 7)))	// &quot;Data Field/Value&quot; columns&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; cell.disable();&lt;br&gt;
&amp;gt; cell.setBackground(_disabledColor);&lt;br&gt;
&amp;gt; //table.setValueAt(&quot;N/A&quot;,row,6);&lt;br&gt;
&amp;gt; if ((valueStr == null) || (!valueStr.equals(&quot;N/A&quot;)))&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; //setText(&quot;N/A&quot;);&lt;br&gt;
&amp;gt; table.setValueAt(&quot;N/A&quot;,row,column);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; } else {&lt;br&gt;
&amp;gt; cell.enable();&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; if (_disabled)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; cell.disable();&lt;br&gt;
&amp;gt; cell.setBackground(_bgcolor);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; // If this cell should have a specific color, then use it&lt;br&gt;
&amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; Color cellBgColor = (Color)&lt;br&gt;
&amp;gt; _cellBgColorHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; if (cellBgColor != null)&lt;br&gt;
&amp;gt; cell.setBackground(cellBgColor);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; // If this cell is selected, then highlight with a light-blue&lt;br&gt;
&amp;gt; color&lt;br&gt;
&amp;gt; if (isSelected) // &amp;&amp;&lt;br&gt;
&amp;gt; !(cell.getBackground().equals(Color.white)))&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; //cell.setBackground(cell.getBackground().darker());&lt;br&gt;
&amp;gt; float[] rgb = cell.getBackground().getRGBComponents(null);&lt;br&gt;
&amp;gt; rgb[0] *= .8;&lt;br&gt;
&amp;gt; rgb[1] *= .8; // darken the R&amp;G components only, to highlight&lt;br&gt;
&amp;gt; the&lt;br&gt;
&amp;gt; blue component&lt;br&gt;
&amp;gt; cell.setBackground(new Color(rgb[0],rgb[1],rgb[2]));&lt;br&gt;
&amp;gt; cell.setForeground(Color.black);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; // If this cell should have a specific tooltip, then use it&lt;br&gt;
&amp;gt; String cellTooltip = (String)&lt;br&gt;
&amp;gt; _cellTooltipHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; if ((cellTooltip == null) || (cellTooltip.length() == 0))&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; // No specific tooltip set, so use the cell's string value as&lt;br&gt;
&amp;gt; the&lt;br&gt;
&amp;gt; tooltip&lt;br&gt;
&amp;gt; if (value == null)&lt;br&gt;
&amp;gt; cell.setToolTipText(null);&lt;br&gt;
&amp;gt; else if (valueStr.length() &amp;gt; 200)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; // Split long tooltip text into several smaller lines&lt;br&gt;
&amp;gt; String tipText = &quot;&amp;lt;html&amp;gt;&quot;;&lt;br&gt;
&amp;gt; int MAX_CHARS_PER_LINE = 150;&lt;br&gt;
&amp;gt; int strLen = valueStr.length();&lt;br&gt;
&amp;gt; for (int lineIdx=0; lineIdx &amp;lt;= strLen/MAX_CHARS_PER_LINE;&lt;br&gt;
&amp;gt; lineIdx++)&lt;br&gt;
&amp;gt; tipText =&lt;br&gt;
&amp;gt;&lt;br&gt;
tipText.concat(valueStr.substring(lineIdx*MAX_CHARS_PER_LINE,Math.mi&lt;br&gt;
&amp;gt; n(&lt;br&gt;
&amp;gt; (lineIdx+1)*MAX_CHARS_PER_LINE,strLen))).concat(&quot;&amp;lt;br&amp;gt;&quot;);&lt;br&gt;
&amp;gt; cell.setToolTipText(tipText);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; else&lt;br&gt;
&amp;gt; cell.setToolTipText(valueStr);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; else&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; cell.setToolTipText(cellTooltip);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; return cell;&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public ColoredFieldCellRenderer()&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; this(new Color(0.925F, 0.914F, 0.847F)); // gray&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public ColoredFieldCellRenderer(Color bgcolor)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; super();&lt;br&gt;
&amp;gt; _bgcolor = bgcolor;&lt;br&gt;
&amp;gt; //setOpaque(false);&lt;br&gt;
&amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public ColoredFieldCellRenderer(float[] rgb)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; super();&lt;br&gt;
&amp;gt; _bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
&amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public ColoredFieldCellRenderer(float r, float g, float b)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; super();&lt;br&gt;
&amp;gt; _bgcolor = new Color(r,g,b);&lt;br&gt;
&amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public Color getBgColor()&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; return _bgcolor;&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setBgColor(Color color)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _bgcolor = color;&lt;br&gt;
&amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setBgColor(float[] rgb)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
&amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setBgColor(float r, float g, float b)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _bgcolor = new Color(r,g,b);&lt;br&gt;
&amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void resetBgColors()&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _cellBgColorHashtable.clear();&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void resetTooltips()&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _cellTooltipHashtable.clear();&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setCellBgColor(int row, int column, Color color)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; if (color == null)&lt;br&gt;
&amp;gt; color = Color.white; // Hashtables&lt;br&gt;
&amp;gt; cannot&lt;br&gt;
&amp;gt; accept nulls...&lt;br&gt;
&amp;gt; _cellBgColorHashtable.put(rowColVector, color);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setCellTooltip(int row, int column, String text)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; //System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt; value: &quot; +&lt;br&gt;
&amp;gt; text);&lt;br&gt;
&amp;gt; if (text == null)&lt;br&gt;
&amp;gt; text = &quot;&quot;; // Hashtables cannot&lt;br&gt;
&amp;gt; accept nulls...&lt;br&gt;
&amp;gt; _cellTooltipHashtable.put(rowColVector, text);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public Color getCellBgColor(int row, int column)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; return (Color) _cellBgColorHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public String getCellTooltip(int row, int column)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; return (String) _cellTooltipHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; private Vector getRowColVector(int row, int column)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; Vector rowColVector = new Vector();&lt;br&gt;
&amp;gt; rowColVector.addElement(new Integer(row));&lt;br&gt;
&amp;gt; rowColVector.addElement(new Integer(column));&lt;br&gt;
&amp;gt; return rowColVector;&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setDebug(boolean flag)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _debug = flag;&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setDisabled(boolean flag)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _disabled = flag;&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public void setEventTypeLookupColumn(int column)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; _eventTypeLookupColumn = column;&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Sample usage in Matlab:&lt;br&gt;
&amp;gt; =======================&lt;br&gt;
&amp;gt; warningBgColor = java.awt.Color(1,.4,.4); % light-red&lt;br&gt;
&amp;gt; c = ColoredFieldCellRenderer(warningBgColor);&lt;br&gt;
&amp;gt; table.getColumnModel.getColumn(1).setCellRenderer(c);&lt;br&gt;
&amp;gt; c.setCellBgColor(row,column,warningBgColor);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Yair Altman</description>
    </item>
    <item>
      <pubDate>Wed, 24 Jun 2009 13:52:01 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#660081</link>
      <author>Kunjesh shah</author>
      <description>Hi, &lt;br&gt;
Can anyone help me? code which is provided below is not working for me . it is saying error when i call java class in to my matlab '*.m' file. it does not recognizes ' table.getColumnModel.getColumn(1).setCellRenderer(c);' . I dont know java much, and i m also beginner with matlab guide. i want to color my each cell based on some logic.&lt;br&gt;
so if anyone can help me with this, will be very much appreciated.&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
YP &amp;lt;yogeshparte@HOTMAIL.COM&amp;gt; wrote in message &amp;lt;ef5b1e4.3@webcrossing.raydaftYaTP&amp;gt;...&lt;br&gt;
&amp;gt; Hello Yair!&lt;br&gt;
&amp;gt; Thank you for the code.&lt;br&gt;
&amp;gt; YP&lt;br&gt;
&amp;gt; -&lt;br&gt;
&amp;gt;  Yair Altman wrote:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; You asked for it...&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; ColoredFieldCellRenderer.java:&lt;br&gt;
&amp;gt; &amp;gt; ==============================&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; // ColoredFieldCellRenderer - Modified TableCellRenderer for&lt;br&gt;
&amp;gt; &amp;gt; input-file fields drop-down cells&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; // Programmed by Yair M. Altman: altmany(at)gmail.com&lt;br&gt;
&amp;gt; &amp;gt; // $Revision: 1.6 $ $Date: 2007/05/07 07:26:40 $&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; import java.awt.*;&lt;br&gt;
&amp;gt; &amp;gt; import java.util.*;&lt;br&gt;
&amp;gt; &amp;gt; import javax.swing.*;&lt;br&gt;
&amp;gt; &amp;gt; import javax.swing.table.*;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public class ColoredFieldCellRenderer extends&lt;br&gt;
&amp;gt; &amp;gt; DefaultTableCellRenderer implements TableCellRenderer&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; private Color _bgcolor = getBackground();&lt;br&gt;
&amp;gt; &amp;gt; private int _eventTypeLookupColumn = -1;&lt;br&gt;
&amp;gt; &amp;gt; private boolean _debug = false;&lt;br&gt;
&amp;gt; &amp;gt; private boolean _disabled = false;&lt;br&gt;
&amp;gt; &amp;gt; private Color _disabledColor = new Color(0.925F, 0.914F, 0.847F);&lt;br&gt;
&amp;gt; &amp;gt; // gray&lt;br&gt;
&amp;gt; &amp;gt; private Hashtable _cellBgColorHashtable = new Hashtable();&lt;br&gt;
&amp;gt; &amp;gt; private Hashtable _cellTooltipHashtable = new Hashtable();&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public Component getTableCellRendererComponent(JTable table,&lt;br&gt;
&amp;gt; &amp;gt; Object&lt;br&gt;
&amp;gt; &amp;gt; value, boolean isSelected, boolean hasFocus, int row, int column)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; JComponent cell = (JComponent)&lt;br&gt;
&amp;gt; &amp;gt; super.getTableCellRendererComponent(table, value, isSelected,&lt;br&gt;
&amp;gt; &amp;gt; hasFocus, row, column);&lt;br&gt;
&amp;gt; &amp;gt; if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; value:&lt;br&gt;
&amp;gt; &amp;gt; &quot; + value);&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; // Field cells may not be empty - indicate with the chosen&lt;br&gt;
&amp;gt; &amp;gt; bgcolor&lt;br&gt;
&amp;gt; &amp;gt; boolean emptyCell = false;&lt;br&gt;
&amp;gt; &amp;gt; String valueStr = &quot;&quot; + value;&lt;br&gt;
&amp;gt; &amp;gt; if ((value == null) || (valueStr.trim().length() == 0))&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; emptyCell = true;&lt;br&gt;
&amp;gt; &amp;gt; cell.setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; } else {&lt;br&gt;
&amp;gt; &amp;gt; //valueStr = (String) value;&lt;br&gt;
&amp;gt; &amp;gt; cell.setBackground(Color.white);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; // If this field is irrelevant to the eventType, disable it and&lt;br&gt;
&amp;gt; &amp;gt; indicate with a gray bgcolor&lt;br&gt;
&amp;gt; &amp;gt; if (_eventTypeLookupColumn &amp;gt;= 0)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; String eventType = (String)&lt;br&gt;
&amp;gt; &amp;gt; table.getValueAt(row,_eventTypeLookupColumn);&lt;br&gt;
&amp;gt; &amp;gt; if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; eventType: &quot; + eventType);&lt;br&gt;
&amp;gt; &amp;gt; if ((eventType != null) &amp;&amp; (eventType.equals(&quot;Target&quot;)) &amp;&amp;&lt;br&gt;
&amp;gt; &amp;gt; ((column == 6) || (column == 7)))	// &quot;Data Field/Value&quot; columns&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; cell.disable();&lt;br&gt;
&amp;gt; &amp;gt; cell.setBackground(_disabledColor);&lt;br&gt;
&amp;gt; &amp;gt; //table.setValueAt(&quot;N/A&quot;,row,6);&lt;br&gt;
&amp;gt; &amp;gt; if ((valueStr == null) || (!valueStr.equals(&quot;N/A&quot;)))&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; //setText(&quot;N/A&quot;);&lt;br&gt;
&amp;gt; &amp;gt; table.setValueAt(&quot;N/A&quot;,row,column);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt; } else {&lt;br&gt;
&amp;gt; &amp;gt; cell.enable();&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt; if (_disabled)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; cell.disable();&lt;br&gt;
&amp;gt; &amp;gt; cell.setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; // If this cell should have a specific color, then use it&lt;br&gt;
&amp;gt; &amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; &amp;gt; Color cellBgColor = (Color)&lt;br&gt;
&amp;gt; &amp;gt; _cellBgColorHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; &amp;gt; if (cellBgColor != null)&lt;br&gt;
&amp;gt; &amp;gt; cell.setBackground(cellBgColor);&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; // If this cell is selected, then highlight with a light-blue&lt;br&gt;
&amp;gt; &amp;gt; color&lt;br&gt;
&amp;gt; &amp;gt; if (isSelected) // &amp;&amp;&lt;br&gt;
&amp;gt; &amp;gt; !(cell.getBackground().equals(Color.white)))&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; //cell.setBackground(cell.getBackground().darker());&lt;br&gt;
&amp;gt; &amp;gt; float[] rgb = cell.getBackground().getRGBComponents(null);&lt;br&gt;
&amp;gt; &amp;gt; rgb[0] *= .8;&lt;br&gt;
&amp;gt; &amp;gt; rgb[1] *= .8; // darken the R&amp;G components only, to highlight&lt;br&gt;
&amp;gt; &amp;gt; the&lt;br&gt;
&amp;gt; &amp;gt; blue component&lt;br&gt;
&amp;gt; &amp;gt; cell.setBackground(new Color(rgb[0],rgb[1],rgb[2]));&lt;br&gt;
&amp;gt; &amp;gt; cell.setForeground(Color.black);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; // If this cell should have a specific tooltip, then use it&lt;br&gt;
&amp;gt; &amp;gt; String cellTooltip = (String)&lt;br&gt;
&amp;gt; &amp;gt; _cellTooltipHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; &amp;gt; if ((cellTooltip == null) || (cellTooltip.length() == 0))&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; // No specific tooltip set, so use the cell's string value as&lt;br&gt;
&amp;gt; &amp;gt; the&lt;br&gt;
&amp;gt; &amp;gt; tooltip&lt;br&gt;
&amp;gt; &amp;gt; if (value == null)&lt;br&gt;
&amp;gt; &amp;gt; cell.setToolTipText(null);&lt;br&gt;
&amp;gt; &amp;gt; else if (valueStr.length() &amp;gt; 200)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; // Split long tooltip text into several smaller lines&lt;br&gt;
&amp;gt; &amp;gt; String tipText = &quot;&amp;lt;html&amp;gt;&quot;;&lt;br&gt;
&amp;gt; &amp;gt; int MAX_CHARS_PER_LINE = 150;&lt;br&gt;
&amp;gt; &amp;gt; int strLen = valueStr.length();&lt;br&gt;
&amp;gt; &amp;gt; for (int lineIdx=0; lineIdx &amp;lt;= strLen/MAX_CHARS_PER_LINE;&lt;br&gt;
&amp;gt; &amp;gt; lineIdx++)&lt;br&gt;
&amp;gt; &amp;gt; tipText =&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; tipText.concat(valueStr.substring(lineIdx*MAX_CHARS_PER_LINE,Math.mi&lt;br&gt;
&amp;gt; &amp;gt; n(&lt;br&gt;
&amp;gt; &amp;gt; (lineIdx+1)*MAX_CHARS_PER_LINE,strLen))).concat(&quot;&amp;lt;br&amp;gt;&quot;);&lt;br&gt;
&amp;gt; &amp;gt; cell.setToolTipText(tipText);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt; else&lt;br&gt;
&amp;gt; &amp;gt; cell.setToolTipText(valueStr);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt; else&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; cell.setToolTipText(cellTooltip);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; return cell;&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public ColoredFieldCellRenderer()&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; this(new Color(0.925F, 0.914F, 0.847F)); // gray&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public ColoredFieldCellRenderer(Color bgcolor)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; super();&lt;br&gt;
&amp;gt; &amp;gt; _bgcolor = bgcolor;&lt;br&gt;
&amp;gt; &amp;gt; //setOpaque(false);&lt;br&gt;
&amp;gt; &amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public ColoredFieldCellRenderer(float[] rgb)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; super();&lt;br&gt;
&amp;gt; &amp;gt; _bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
&amp;gt; &amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public ColoredFieldCellRenderer(float r, float g, float b)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; super();&lt;br&gt;
&amp;gt; &amp;gt; _bgcolor = new Color(r,g,b);&lt;br&gt;
&amp;gt; &amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public Color getBgColor()&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; return _bgcolor;&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setBgColor(Color color)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _bgcolor = color;&lt;br&gt;
&amp;gt; &amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setBgColor(float[] rgb)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
&amp;gt; &amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setBgColor(float r, float g, float b)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _bgcolor = new Color(r,g,b);&lt;br&gt;
&amp;gt; &amp;gt; setBackground(_bgcolor);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void resetBgColors()&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _cellBgColorHashtable.clear();&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void resetTooltips()&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _cellTooltipHashtable.clear();&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setCellBgColor(int row, int column, Color color)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; &amp;gt; if (color == null)&lt;br&gt;
&amp;gt; &amp;gt; color = Color.white; // Hashtables&lt;br&gt;
&amp;gt; &amp;gt; cannot&lt;br&gt;
&amp;gt; &amp;gt; accept nulls...&lt;br&gt;
&amp;gt; &amp;gt; _cellBgColorHashtable.put(rowColVector, color);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setCellTooltip(int row, int column, String text)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; &amp;gt; //System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt; value: &quot; +&lt;br&gt;
&amp;gt; &amp;gt; text);&lt;br&gt;
&amp;gt; &amp;gt; if (text == null)&lt;br&gt;
&amp;gt; &amp;gt; text = &quot;&quot;; // Hashtables cannot&lt;br&gt;
&amp;gt; &amp;gt; accept nulls...&lt;br&gt;
&amp;gt; &amp;gt; _cellTooltipHashtable.put(rowColVector, text);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public Color getCellBgColor(int row, int column)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; &amp;gt; return (Color) _cellBgColorHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public String getCellTooltip(int row, int column)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; &amp;gt; return (String) _cellTooltipHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; private Vector getRowColVector(int row, int column)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; Vector rowColVector = new Vector();&lt;br&gt;
&amp;gt; &amp;gt; rowColVector.addElement(new Integer(row));&lt;br&gt;
&amp;gt; &amp;gt; rowColVector.addElement(new Integer(column));&lt;br&gt;
&amp;gt; &amp;gt; return rowColVector;&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setDebug(boolean flag)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _debug = flag;&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setDisabled(boolean flag)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _disabled = flag;&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; public void setEventTypeLookupColumn(int column)&lt;br&gt;
&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt; &amp;gt; _eventTypeLookupColumn = column;&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Sample usage in Matlab:&lt;br&gt;
&amp;gt; &amp;gt; =======================&lt;br&gt;
&amp;gt; &amp;gt; warningBgColor = java.awt.Color(1,.4,.4); % light-red&lt;br&gt;
&amp;gt; &amp;gt; c = ColoredFieldCellRenderer(warningBgColor);&lt;br&gt;
&amp;gt; &amp;gt; table.getColumnModel.getColumn(1).setCellRenderer(c);&lt;br&gt;
&amp;gt; &amp;gt; c.setCellBgColor(row,column,warningBgColor);&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Yair Altman</description>
    </item>
    <item>
      <pubDate>Sat, 11 Jul 2009 20:52:03 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#664511</link>
      <author>Camron Call</author>
      <description>table.getColumnModel.getColumn(1).setCellRenderer(c);&lt;br&gt;
&lt;br&gt;
I am having the same problem as Kunjesh.  I have compiled the .java code to a .class and placed it in the path.  But since the variable 'table' is not in the matlab workspace so it won't work like this.  There has to be a way to set the renderer 'c' as the renderer of the specific uitable (for example) uitable1 in the Guide GUI.&lt;br&gt;
If someone knows how this can be fixed, more than one of us will be really happy.  &lt;br&gt;
Please?&lt;br&gt;
&lt;br&gt;
Camron</description>
    </item>
    <item>
      <pubDate>Thu, 27 Aug 2009 05:26:00 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#676085</link>
      <author>Camron Call</author>
      <description>Just in case anyone is interested...&lt;br&gt;
&lt;br&gt;
My GUI table is only used to display information and is not editable so this was a great solution for me.  &lt;br&gt;
&lt;br&gt;
Clement Val sent me this:&lt;br&gt;
&lt;br&gt;
Simply, the uitable supports HTML, so you just have to put something like '&amp;lt;html&amp;gt;&amp;lt;span style=&quot;background-color: #AABBCC;&quot;&amp;gt;your content here&amp;lt;/span&amp;gt;&amp;lt;/html&amp;gt;' in the data field, and the background color is changed. However, if the field needs to be editable, this won't work : as soon as he clicks it, the user displays and edits everything, including the html code.</description>
    </item>
    <item>
      <pubDate>Mon, 16 Aug 2010 18:34:07 -0400</pubDate>
      <title>Re: Changing cell color in uitable</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/150507#771899</link>
      <author>can baran</author>
      <description>&lt;br&gt;
&lt;br&gt;
&quot;Yair Altman&quot; &amp;lt;altmanyDEL@gmailDEL.comDEL&amp;gt; wrote in message &amp;lt;ef5b1e4.2@webcrossing.raydaftYaTP&amp;gt;...&lt;br&gt;
&amp;gt; YP wrote:&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Hello!&lt;br&gt;
&amp;gt; &amp;gt; Is it possible to provide me with a code snippet?&lt;br&gt;
&amp;gt; &amp;gt; with regards,&lt;br&gt;
&amp;gt; &amp;gt; YP&lt;br&gt;
&amp;gt; &amp;gt; ----&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; Yair Altman wrote:&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; Unfortunately, if you want to color specific cells based on&lt;br&gt;
&amp;gt; &amp;gt; content or some other logic, you need to define a user-class in&lt;br&gt;
&amp;gt; &amp;gt; Java. It's not difficult, but you need to know Java for this.&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; Yair Altman&lt;br&gt;
&amp;gt;   &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; You asked for it...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ColoredFieldCellRenderer.java:&lt;br&gt;
&amp;gt; ==============================&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; // ColoredFieldCellRenderer - Modified TableCellRenderer for&lt;br&gt;
&amp;gt; input-file fields drop-down cells&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; // Programmed by Yair M. Altman: altmany(at)gmail.com&lt;br&gt;
&amp;gt; // $Revision: 1.6 $ $Date: 2007/05/07 07:26:40 $&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; import java.awt.*;&lt;br&gt;
&amp;gt; import java.util.*;&lt;br&gt;
&amp;gt; import javax.swing.*;&lt;br&gt;
&amp;gt; import javax.swing.table.*;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; public class ColoredFieldCellRenderer extends&lt;br&gt;
&amp;gt; DefaultTableCellRenderer implements TableCellRenderer&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; 	private Color _bgcolor = getBackground();&lt;br&gt;
&amp;gt; 	private int _eventTypeLookupColumn = -1;&lt;br&gt;
&amp;gt; 	private boolean _debug = false;&lt;br&gt;
&amp;gt; 	private boolean _disabled = false;&lt;br&gt;
&amp;gt; 	private Color _disabledColor = new Color(0.925F, 0.914F, 0.847F);&lt;br&gt;
&amp;gt; // gray&lt;br&gt;
&amp;gt; 	private Hashtable _cellBgColorHashtable = new Hashtable();&lt;br&gt;
&amp;gt; 	private Hashtable _cellTooltipHashtable = new Hashtable();&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public Component getTableCellRendererComponent(JTable table, Object&lt;br&gt;
&amp;gt; value, boolean isSelected, boolean hasFocus, int row, int column)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		JComponent cell = (JComponent)&lt;br&gt;
&amp;gt; super.getTableCellRendererComponent(table, value, isSelected,&lt;br&gt;
&amp;gt; hasFocus, row, column);&lt;br&gt;
&amp;gt; 		if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt; value:&lt;br&gt;
&amp;gt; &quot; + value);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 		// Field cells may not be empty - indicate with the chosen bgcolor&lt;br&gt;
&amp;gt; 		boolean emptyCell = false;&lt;br&gt;
&amp;gt; 		String valueStr = &quot;&quot; + value;&lt;br&gt;
&amp;gt; 		if ((value == null) || (valueStr.trim().length() == 0))&lt;br&gt;
&amp;gt; 		{&lt;br&gt;
&amp;gt; 			emptyCell = true;&lt;br&gt;
&amp;gt; 			cell.setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 		} else {&lt;br&gt;
&amp;gt; 			//valueStr = (String) value;&lt;br&gt;
&amp;gt; 			cell.setBackground(Color.white);&lt;br&gt;
&amp;gt; 		}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 		// If this field is irrelevant to the eventType, disable it and&lt;br&gt;
&amp;gt; indicate with a gray bgcolor&lt;br&gt;
&amp;gt; 		if (_eventTypeLookupColumn &amp;gt;= 0)&lt;br&gt;
&amp;gt; 		{&lt;br&gt;
&amp;gt; 			String eventType = (String)&lt;br&gt;
&amp;gt; table.getValueAt(row,_eventTypeLookupColumn);&lt;br&gt;
&amp;gt; 			if (_debug) System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt;&lt;br&gt;
&amp;gt; eventType: &quot; + eventType);&lt;br&gt;
&amp;gt; 			if ((eventType != null) &amp;&amp; (eventType.equals(&quot;Target&quot;)) &amp;&amp;&lt;br&gt;
&amp;gt; 				((column == 6) || (column == 7)))	// &quot;Data Field/Value&quot; columns&lt;br&gt;
&amp;gt; 			{&lt;br&gt;
&amp;gt; 				cell.disable();&lt;br&gt;
&amp;gt; 				cell.setBackground(_disabledColor);&lt;br&gt;
&amp;gt; 				//table.setValueAt(&quot;N/A&quot;,row,6);&lt;br&gt;
&amp;gt; 				if ((valueStr == null) || (!valueStr.equals(&quot;N/A&quot;)))&lt;br&gt;
&amp;gt; 				{&lt;br&gt;
&amp;gt; 					//setText(&quot;N/A&quot;);&lt;br&gt;
&amp;gt; 					table.setValueAt(&quot;N/A&quot;,row,column);&lt;br&gt;
&amp;gt; 				}&lt;br&gt;
&amp;gt; 			} else {&lt;br&gt;
&amp;gt; 				cell.enable();&lt;br&gt;
&amp;gt; 			}&lt;br&gt;
&amp;gt; 		}&lt;br&gt;
&amp;gt; 		if (_disabled)&lt;br&gt;
&amp;gt; 		{&lt;br&gt;
&amp;gt; 			cell.disable();&lt;br&gt;
&amp;gt; 			cell.setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 		}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 		// If this cell should have a specific color, then use it&lt;br&gt;
&amp;gt; 		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; 		Color cellBgColor = (Color)&lt;br&gt;
&amp;gt; _cellBgColorHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; 		if (cellBgColor != null)&lt;br&gt;
&amp;gt; 			cell.setBackground(cellBgColor);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 		// If this cell is selected, then highlight with a light-blue color&lt;br&gt;
&amp;gt; 		if (isSelected) // &amp;&amp; !(cell.getBackground().equals(Color.white)))&lt;br&gt;
&amp;gt; 		{&lt;br&gt;
&amp;gt; 			//cell.setBackground(cell.getBackground().darker());&lt;br&gt;
&amp;gt; 			float[] rgb = cell.getBackground().getRGBComponents(null);&lt;br&gt;
&amp;gt; 			rgb[0] *= .8;&lt;br&gt;
&amp;gt; 			rgb[1] *= .8; // darken the R&amp;G components only, to highlight the&lt;br&gt;
&amp;gt; blue component&lt;br&gt;
&amp;gt; 			cell.setBackground(new Color(rgb[0],rgb[1],rgb[2]));&lt;br&gt;
&amp;gt; 			cell.setForeground(Color.black);&lt;br&gt;
&amp;gt; 		}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 		// If this cell should have a specific tooltip, then use it&lt;br&gt;
&amp;gt; 		String cellTooltip = (String)&lt;br&gt;
&amp;gt; _cellTooltipHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; 		if ((cellTooltip == null) || (cellTooltip.length() == 0))&lt;br&gt;
&amp;gt; 		{&lt;br&gt;
&amp;gt; 			// No specific tooltip set, so use the cell's string value as the&lt;br&gt;
&amp;gt; tooltip&lt;br&gt;
&amp;gt; 			if (value == null)&lt;br&gt;
&amp;gt; 				cell.setToolTipText(null);&lt;br&gt;
&amp;gt; 			else if (valueStr.length() &amp;gt; 200)&lt;br&gt;
&amp;gt; 			{&lt;br&gt;
&amp;gt; 				// Split long tooltip text into several smaller lines&lt;br&gt;
&amp;gt; 				String tipText = &quot;&amp;lt;html&amp;gt;&quot;;&lt;br&gt;
&amp;gt; 				int MAX_CHARS_PER_LINE = 150;&lt;br&gt;
&amp;gt; 				int strLen = valueStr.length();&lt;br&gt;
&amp;gt; 				for (int lineIdx=0; lineIdx &amp;lt;= strLen/MAX_CHARS_PER_LINE;&lt;br&gt;
&amp;gt; lineIdx++)&lt;br&gt;
&amp;gt; 					tipText =&lt;br&gt;
&amp;gt; tipText.concat(valueStr.substring(lineIdx*MAX_CHARS_PER_LINE,Math.min(&lt;br&gt;
&amp;gt; (lineIdx+1)*MAX_CHARS_PER_LINE,strLen))).concat(&quot;&amp;lt;br&amp;gt;&quot;);&lt;br&gt;
&amp;gt; 				cell.setToolTipText(tipText);&lt;br&gt;
&amp;gt; 			}&lt;br&gt;
&amp;gt; 			else&lt;br&gt;
&amp;gt; 				cell.setToolTipText(valueStr);&lt;br&gt;
&amp;gt; 		}&lt;br&gt;
&amp;gt; 		else&lt;br&gt;
&amp;gt; 		{&lt;br&gt;
&amp;gt; 			cell.setToolTipText(cellTooltip);&lt;br&gt;
&amp;gt; 		}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 		return cell;&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public ColoredFieldCellRenderer()&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		this(new Color(0.925F, 0.914F, 0.847F)); // gray&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public ColoredFieldCellRenderer(Color bgcolor)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		super();&lt;br&gt;
&amp;gt; 		_bgcolor = bgcolor;&lt;br&gt;
&amp;gt; 		//setOpaque(false);&lt;br&gt;
&amp;gt; 		setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public ColoredFieldCellRenderer(float[] rgb)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		super();&lt;br&gt;
&amp;gt; 		_bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
&amp;gt; 		setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public ColoredFieldCellRenderer(float r, float g, float b)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		super();&lt;br&gt;
&amp;gt; 		_bgcolor = new Color(r,g,b);&lt;br&gt;
&amp;gt; 		setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public Color getBgColor()&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		return _bgcolor;&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setBgColor(Color color)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		_bgcolor = color;&lt;br&gt;
&amp;gt; 		setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setBgColor(float[] rgb)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		_bgcolor = new Color(rgb[0], rgb[1], rgb[2]);&lt;br&gt;
&amp;gt; 		setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setBgColor(float r, float g, float b)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		_bgcolor = new Color(r,g,b);&lt;br&gt;
&amp;gt; 		setBackground(_bgcolor);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void resetBgColors()&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt;         _cellBgColorHashtable.clear();&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void resetTooltips()&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt;         _cellTooltipHashtable.clear();&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setCellBgColor(int row, int column, Color color)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; 		if (color == null)&lt;br&gt;
&amp;gt; 			color = Color.white; // Hashtables cannot&lt;br&gt;
&amp;gt; accept nulls...&lt;br&gt;
&amp;gt; 		_cellBgColorHashtable.put(rowColVector, color);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setCellTooltip(int row, int column, String text)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; 		//System.out.println(row + &quot;,&quot; + column + &quot; =&amp;gt; value: &quot; + text);&lt;br&gt;
&amp;gt; 		if (text == null)&lt;br&gt;
&amp;gt; 			text = &quot;&quot;; // Hashtables cannot&lt;br&gt;
&amp;gt; accept nulls...&lt;br&gt;
&amp;gt; 		_cellTooltipHashtable.put(rowColVector, text);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public Color getCellBgColor(int row, int column)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; 		return (Color) _cellBgColorHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public String getCellTooltip(int row, int column)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		Vector rowColVector = getRowColVector(row, column);&lt;br&gt;
&amp;gt; 		return (String) _cellTooltipHashtable.get(rowColVector);&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	private Vector getRowColVector(int row, int column)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		Vector rowColVector = new Vector();&lt;br&gt;
&amp;gt; 		rowColVector.addElement(new Integer(row));&lt;br&gt;
&amp;gt; 		rowColVector.addElement(new Integer(column));&lt;br&gt;
&amp;gt; 		return rowColVector;&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setDebug(boolean flag)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		_debug = flag;&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setDisabled(boolean flag)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		_disabled = flag;&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 	public void setEventTypeLookupColumn(int column)&lt;br&gt;
&amp;gt; 	{&lt;br&gt;
&amp;gt; 		_eventTypeLookupColumn = column;&lt;br&gt;
&amp;gt; 	}&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Sample usage in Matlab:&lt;br&gt;
&amp;gt; =======================&lt;br&gt;
&amp;gt;       warningBgColor = java.awt.Color(1,.4,.4); % light-red&lt;br&gt;
&amp;gt;       c = ColoredFieldCellRenderer(warningBgColor);&lt;br&gt;
&amp;gt;       table.getColumnModel.getColumn(1).setCellRenderer(c);&lt;br&gt;
&amp;gt;       c.setCellBgColor(row,column,warningBgColor);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Yair Altman&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Greetings, &lt;br&gt;
Yair's contribution to matlabbers is undeniable. I would like to ask whether anyone used the ColoredFieldCellRenderer.java. &lt;br&gt;
I did compile the java code and got the class and then attempted to use the given matlab code to change the background color, but however, i think i am doing sth wrong:&lt;br&gt;
&lt;br&gt;
dat =  {6.125, 456.3457, true,  'Fixed';...&lt;br&gt;
6.75,  510.2342, false, 'Adjustable';...&lt;br&gt;
7,     658.2,    false, 'Fixed';};&lt;br&gt;
columnname =   {'Rate', 'Amount', 'Available', 'Fixed/Adj'};&lt;br&gt;
columnformat = {'numeric', 'bank', 'logical', {'Fixed' 'Adjustable'}};&lt;br&gt;
columneditable =  [false false true true];&lt;br&gt;
t = uitable('Units','normalized','Position',...&lt;br&gt;
[0.1 0.1 0.9 0.9], 'Data', dat,...&lt;br&gt;
'ColumnName', columnname,...&lt;br&gt;
'ColumnFormat', columnformat,...&lt;br&gt;
'ColumnEditable', columneditable,...&lt;br&gt;
'RowName',[]);&lt;br&gt;
jscroll = findjobj(t);&lt;br&gt;
%jscroll(2) is the uiscrollpane which is what we want i think&lt;br&gt;
table = jscroll(2).getViewport.getComponent(0);&lt;br&gt;
warningBgColor = java.awt.Color(1,.4,.4); % light-red&lt;br&gt;
c = ColoredFieldCellRenderer(warningBgColor);&lt;br&gt;
table.getColumnModel.getColumn(1).setCellRenderer(c);&lt;br&gt;
c.setCellBgColor(1,1,warningBgColor);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
However, nothing seems to happen&lt;br&gt;
Thanks&lt;br&gt;
Can</description>
    </item>
  </channel>
</rss>

