Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

disable hover for a specific JButton.

$
0
0
The flow of the program is like this : Image from 1st set of buttons (leftButtonArea) is dragged to the 2nd set of buttons (rightButtonArea).

Each image has a unique name via setName(). The name of the image that was dragged over will be compared with the name of the buttons which it is dragged to.

If the name matches, I wish to disable that particular button from reacting to any hover event.

.setHoverEnabled(false) doesn't work =/

    // 1st set of 4 buttons
    for(int a=0; a<4; a++){

     leftButtonArea[a] = new JleftButtonArea(new ImageIcon(image)); 
     
     TransferHandler transfer = new TransferHandler("icon");
     leftButtonArea[a].setTransferHandler(transfer);
     
     leftButtonArea[a].addMouseListener(new MouseAdapter(){
        public void mousePressed(MouseEvent e){
        JleftButtonArea leftButtonArea = (JleftButtonArea)e.getSource();
        TransferHandler handle = leftButtonArea.getTransferHandler();
        handle.exportAsDrag(leftButtonArea, e, TransferHandler.COPY);
        // get unique name for the image that is dragged
        // to rightButtonArea
        name1 = e.getComponent().getName();
        }

    });
    
    }


    // creates 2nd set of 4 buttons
     for(int b=0; b<4; b++){     
         rightleftButtonAreaArea[b] = new JleftButtonArea();

         // <---- creates unique name for each leftButtonArea ----->
         cc2 += 1;
         id2+="a"+cc2;
         rightleftButtonAreaArea[b].setName(id2); 
         // <---- creates unique name for each leftButtonArea ----->

         TransferHandler transfer1 = new TransferHandler("icon");
         rightleftButtonAreaArea[b].setTransferHandler(transfer1);

        rightleftButtonAreaArea[b].addMouseListener(new MouseAdapter(){
        @Override
        public void mouseExited(MouseEvent me){
        JleftButtonArea source = (JleftButtonArea)me.getSource();

        try{
        // compare unique name of image and the button in rightButtonArea
        // if they are the same, disable hover for the button
            if( name1.equals(source.getName())){
                // this doesn't work
                source.getName().setHoverEnabled(false); 

            }
            else{   
                source.setIcon(null);
            }
        }
        catch (NullPointerException e) 
        {
             
        }
        
        }       

        });
    }
            

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>