JMEDesktop and picking

if i had a jme desktop for my GUI, how would picking work? How could I i have it looking beyond the JMEDesktop node and into other nodes?

Simply disable the InputHandler associated with the JMEDesktop.



darkfrog

I can't look into the code right now, but I think you can do jmeDesktop.setCollidable(false) to avoid having your desktop in the pickresult. atm this does not disable mouse-input for JMEDesktop (if you want it disabled you can do like darkfrog said above), but might be in the future when multiple in-scene desktops get supported.

but when used as a gui, i want it to pick opened JPanels and such, but when nothing on the JMEDekstop is picked i want it to look into the root node.

just enable and disable the InputHandler for the JMEDesktop based on that.



darkfrog

Its possible to add a MouseListener to those components you are interested in



add this to the TestJMEDesktop on the createSwingInternalFrame method



 internalFrame.addMouseListener(new MouseListener() {
         public void mouseClicked(MouseEvent e){
            

this is the code for one of the suggestions from above



protected void simpleUpdate() {



        if ( jmeDesktop.getFocusOwner() == null ) {

            movementControl.setEnabled(true);

            if (MouseInput.get().isButtonDown(0))

                doUserSelect();

        }else

            movementControl.setEnabled(false);