繁体   English   中英

悬停Java上的图像更改

[英]Image change on hover Java

我知道item1.setToolTipText("This shows up on mouse hover"); 如果鼠标悬停在文本上方,将显示文本。 我想知道是否可以在鼠标悬停时更改图像? 提前致谢。

我会在您保存图像的组件中添加一个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);
  }
}
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);

}                           

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM