Dear Maung, I am trying to give you a description about my design, hope that it can help you. In fact, I am trying to extract the part for you since not all the part of my project can be viewed by the other. Actually your problem is the same as what I face, supposed that you now get the sceneGraph of the loaded image and it is stored in a variable called "s", then using the below code you should be able to get the name of the elements inside the image:
Hashtable namedObject; Enumeration e; /* Get the name of the component inside the object */ for (int i = 0; i < 10; i++) { int m = 0; namedObject = s.getNamedObjects(); e = namedObject.keys(); while (e.hasMoreElements()) { String name = (String)e.nextElement(); System.out.println(((TransformGroup)(namedObject).get(name)).getChild(0)); // Here you get the real name of the element,such as keyboard, line1, monitor objName[0][m] = (((TransformGroup)(namedObject.get(name))).getChild(0)).toString(); // Here you should get the name of the shape3D. Actually I dont know what the name is // But what you get there is the same as the name return when you click on the // corresponding element using picking. objName is only a variable, it is not important. m++; } What my problem is, is that possible for me to get back the name just the same as i got from the statment "(String)e.nextElement();" when I use picking. People in the newsgroup sugget me to use setUserData,suppose I got a shape3D by the statment: =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".