Javier, un millon de gracias por tu aporte ... de hecho ya lo habia implementado justo de esa manera (incluso capturando el valor del texto y sustituyendolo por la imagen) y pues ya lo adapte a mis necesidades y funciona de maravilla ...gracias por tu colaboración! muy amable de tu parte!
Aprovechando que me haz contestado y que aun me queda un pequeño detalle que ajustar en mi JTree, te cuento y te pregunto lo siguiente:
Yo estoy usando un JTree para simular un menu, no uso el componente java diseñado para tal fin porque el requerimiento es que la aplicacion (que es de escritorio) tenga mas apariencia de aplicacion web, entonces tome un JTree (no se si sea la forma mas optima pero esto fue lo que se me ocurrio y despues de tanto sufrir con este componente, dudo que lo cambie por otro =P ) ... en el momento que el usuario selecciona un elemento de mi arbol, yo llamo al JInternalFrame correspondiente a su seleccion, esto lo estoy trabajando con una implementacion de TreeSelectionListener, de la cual te anexo parte del codigo:
public class ControlPrincipal implements TreeSelectionListener
{
@Override
public void valueChanged(TreeSelectionEvent evt)
{
// TODO Auto-generated method stub
TreePath[] paths = evt.getPaths();
// Iterate through all affected nodes
for (int i=0; i<paths.length; i++) {
if (evt.isAddedPath(i))
{
// This node has been selected
String strMenu = evt.getPath().toString().trim();
String strOpt = strMenu.substring(strMenu.lastIndexOf(",")+1,strMenu.length()-1);
if (strOpt.trim().equals("Usuarios"))
{
ControlJInternalFrame ctrlGUsuarios = new ControlJInternalFrame();
FrmUsuario vistaGUsuarios = FrmUsuario.getInstance(ctrlGUsuarios);
if(!vistaGUsuarios.isShowing())
{
vista.mostrarPantalla(vistaGUsuarios);
}
}
}
}
Como podras notar, lo que intento es capturar el texto de la opcion seleccionada por el usuario
(con las instrucciones
String strMenu = evt.getPath().toString().trim();
String strOpt = strMenu.substring(strMenu.lastIndexOf(",")+1,strMenu.length()-1);
)
para determinar que JInternalFrame que voy a desplegar, pero si el usuario cierra el JInternalFrame e inmendiatamente intenta clickear la opcion antes seleccionada, este evento no se dispara, sino que debo seleccionar otra opcion (elemento del arbol) y luego volver a la que quiero (por ejemplo la de gestion de usuarios) para que se vuelva a disparar el evento y mostrar la pantalla de usuarios .... luego de haberme explicado, te planteo mi duda ¿Que otro evento o de que otra forma pudiese implementar esto que necesito?
Saludos y gracias de antemano ...