2013-06-10 3 views
2

item1.setToolTipText("This shows up on mouse hover");은 마우스를 가리키면 텍스트가 표시되는 것을 알고 있습니다. 마우스를 움직일 때 이미지를 바꿀 수 있는지 궁금합니다. 미리 감사드립니다.호버에서 이미지 변경 Java

답변

4

이미지를 보유하는 구성 요소에 MouseListener을 추가 할 것입니다.

그런 다음 이미지를 변경하려면 mouseEntered(MouseEvent e)mouseExited(MouseEvent e) 메서드를 무시하십시오.

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
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); 

}       
관련 문제