Re: [Gvsig_desarrolladores] ¿Como cambiar el color de un determinado poligono ?

Namberwuan namberwuan en hotmail.com
Jue Oct 30 10:03:07 CET 2008


Al final encontre un codigo parecido y lo adapte a lo que queria, es muy
sencillo, lo posteo por si alguna vez alguien tiene una duda parecida y le
sirve de algo.


public void selecionarPorAtributos(String atrib1, String atrib2){
       
        View v = (View)PluginServices.getMDIManager().getActiveWindow();
        MapContext mapContext = v.getModel().getMapContext();
        //obtengo las capas del mapa
        FLayers lyrs = mapContext.getLayers();
        // de todas las capas recupero la que se necesite
        FLyrVect lyrVect = (FLyrVect) lyrs.getLayer("nombre.shp");
       
        AlphanumericData lyr = (AlphanumericData)lyrVect;
        DataSource ds;
        int index =0;
       
       
                try {
                    ds = lyr.getRecordset();
                    Selectable selectable = (Selectable)ds;
                   
                    FBitSet seleccion = selectable.getSelection();
                    seleccion.clear();
                    for (int i=0;i<ds.getRowCount();i++) {
                       
                        String _atrib1= ds.getFieldValue(i, 1).toString();
                        String _atrib2= ds.getFieldValue(i, 2).toString();
                       
                                       
                        if(_atrib1.compareTo(atrib1)==0 &&
_atrib2.compareTo(atrib2)==0){

                            index=i;
                        }
                    }
                      seleccion.clear(); //Limpiamos la selección

                      seleccion.set(index); //Añadimos a la selección el
elemento que ocupa la posición row
                     
                      selectable.setSelection(seleccion);
                      MapControl mapCtrl = v.getMapControl();

                      mapCtrl.drawMap(false); //Refrescamos la vista
                   
                   
                   
                   
                   
                } catch (DriverException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch
(com.hardcode.gdbms.engine.data.driver.DriverException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                                               
           
            }
       
}

Namberwuan wrote:
> 
> Hola, tengo una duda que en teoria deberia ser muy facil de realizar pero
> soy incapaz de encontrar como se hace.
> Necesito cambiar el color de un determinado poligono, del que conozco el
> valor de uno de sus atributos.
> Algo asi como lo que sucede con la herramienta Muestra Atributos de las
> capas seleccionadas, que al colocarte sobre una fila cambia el color de un
> determinado elemento.
> 
> Gracias de antemano.
> 
> 

-- 
View this message in context: http://www.nabble.com/%C2%BFComo-cambiar-el-color-de-un-determinado-poligono---tp20224689p20243041.html
Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.




Más información sobre la lista de distribución gvSIG_desarrolladores