Hola estoy usando esta clase para colorear ciertos nodos que yo deseo:
public class RendererArbol extends DefaultTreeCellRenderer
{
Mi_applet applet = null;
public RendererArbol(Mi_applet applet)
{
super();
this.applet = applet;
}
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus)
{
NodosArbol nodo=(NodosArbol)value;
//pintamos los nodos que son modificables por ana garcia con color azul
String sentencia="SELECT TIPO_PROY FROM TCP_PROYECTOS WHERE NOM_PROYECTO = '" + nodo.toString() + "'";
try
{
applet.getConexion().consultar(sentencia);
while (applet.getConexion().rset.next()){ if(applet.getConexion().rset.getInt("TIPO_PROY")== 1 || applet.getConexion().rset.getInt("TIPO_PROY")==11)
{ this.setForeground(Color.blue);
}
} applet.getConexion().cerrarConsulta();
}
catch(SQLException e)
{
JLogTrace.getInstance().logTrace("RendererArbol::g etTreeCellRendererComponent","Error : " + e.getMessage());
}
//fin de pintar nodos
return (this);
}
llamo a esta clase desde esta linea de código:
setCellRenderer(new RendererArbol(applet));
pero no me pinta el arbol.¿por qué?
(Si comento esta linea me pinta el arbol pero no funciona la coloracion de nodos).