[Gvsig_desarrolladores] Como mostrar un botón del toolbar como pulsado

Francisco José Peñarrubia fpenarru en gmail.com
Jue Oct 14 17:15:04 CEST 2010


  Hola Francisco.

Has probado con setSelectedTool()? (Eso sí, tendrás que añadir el botón 
como una tool, no como un button):

     /**
      * You can use this function to select the appropiate
      * tool inside the toolbars
      */
     public void setSelectedTool(String actionCommand)
     {
         setSelectedTool(defaultGroup, actionCommand);
     }

     /**
      * You can use this function to select the appropiate
      * tool inside the toolbars
      */
     public void setSelectedTool(String groupName, String actionCommand)
     {
         ButtonGroup group = (ButtonGroup) buttonGroupMap.get(groupName);
         if (group==null)
             return;

         Enumeration enumeration = group.getElements();
         while (enumeration.hasMoreElements()) {
             AbstractButton button = (AbstractButton) 
enumeration.nextElement();
             if (button.getActionCommand().equals(actionCommand)) {
                 button.setSelected(true);
             }
         }

         selectedTool.put(groupName, actionCommand);
     }

Estas funciones están en MDIFrame (puedes acceder con 
PluginServices.getMainFrame())

A malas, también tienes un getComponentByName(), que te permitiría 
obtener el componente swing que quieras, y trabajar directamente con él.

Espero que te sirva.

Saludos.

Fran.

El 14/10/2010 16:15, Francisco Puga escribió:
> Hola,
>
> Estoy intentando que el icono de una extensión creada por nosotros sea
> distinto en función del valor de una variable booleana de la
> extensión. La variable cambia de estado al pulsar sobre el botón.
>
> A pesar de que en el Javadoc esta puesto como una mala práctica estoy
> tratando de usar el registerDefault para cambiar el botón en tiempo de
> ejecución pero no lo consigo. ¿Alguna idea?
>
> También me valdría que el botón permaneciese como pulsado,
> independientemente de la herramienta (zoom, pan, ...) activa cuando mi
> variable valga True.
>

-- 
Fran Peñarrubia
Scolab
www.scolab.es

Asociación gvSIG
www.gvsig.com



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