Image change on hover Java

前端 未结 2 1003
时光说笑
时光说笑 2020-12-11 10:54

I know that item1.setToolTipText(\"This shows up on mouse hover\"); will allow text to show up if the mouse hovers over it. I was wondering if I could make the

相关标签:
2条回答
  • 2020-12-11 11:06

    I would add a MouseListener to your component that holds the image.

    Then just override the methods mouseEntered(MouseEvent e) and mouseExited(MouseEvent e) to change the image.

    Here's a full working example :

    public class JFrameExample {
    
        public static void main(String[] args) throws MalformedURLException, IOException {
            final JButton j;      
            BufferedImage imgOne = ImageIO.read(new URL("http://www.suptechnology.ma/entrepot/logocert/logocert-20130211115413.png"));
            BufferedImage imgTwo = ImageIO.read(new URL("http://market.milouz.com/data/icon53.png"));
    
            final ImageIcon imageIconOne = new ImageIcon(imgOne);
            final ImageIcon imageIconTwo = new ImageIcon(imgTwo);
    
            JFrame f = new JFrame("This is a test / Image on hover");
            f.setSize(500, 500);
            Container content = f.getContentPane();
            content.setLayout(new FlowLayout()); 
            j = new JButton(imageIconOne);
            j.addMouseListener(new MouseListener() {            
                @Override
                public void mouseReleased(MouseEvent arg0) {}           
                @Override
                public void mousePressed(MouseEvent arg0) {}            
                @Override
                public void mouseExited(MouseEvent arg0) { 
                    j.setIcon(imageIconOne);
                }           
                @Override
                public void mouseEntered(MouseEvent arg0) {
                        j.setIcon(imageIconTwo);
                }           
                @Override
                public void mouseClicked(MouseEvent arg0) {}
            });
            content.add(j);     
            f.setVisible(true);
      }
    }
    
    0 讨论(0)
  • 2020-12-11 11:26
    private void SettingsMouseEntered(java.awt.event.MouseEvent evt) {                                      
    ImageIcon Setting = new ImageIcon(getClass().getResource("/pic/settings2.png"));
    Settings.setIcon(Setting);
    
    }                                     
    
    private void SettingsMouseExited(java.awt.event.MouseEvent evt) {                                     
    ImageIcon Setting = new ImageIcon(getClass().getResource("/pic/settings1.png"));
    Settings.setIcon(Setting);
    
    }                           
    
    0 讨论(0)
提交回复
热议问题