【问题标题】:How to change icon on mouse over?如何更改鼠标上的图标?
【发布时间】:2012-04-26 05:03:17
【问题描述】:

我有一个白色图标,当我穿过那个图标时,我想制作不同的颜色。

这是我的白色图标:

hint.setIcon(newjavax.swing.ImageIcon(getClass().getResource ("white.png")));

当你将鼠标拖到图标上改变颜色时,我该怎么做?

【问题讨论】:

    标签: java swing icons mouse mouseover


    【解决方案1】:

    我怀疑这个问题的答案是在一个未装饰的按钮中。将白色图像设置为图标,将黄色图像设置为roll-over icon。像这样:

    import java.awt.*;
    import javax.swing.*;
    import java.net.URL;
    import javax.imageio.ImageIO;
    
    class HoverImage {
    
        HoverImage(Image img1, Image img2) {
            JButton b = new JButton(new ImageIcon(img1));
            b.setRolloverIcon(new ImageIcon(img2));
    
            b.setBorderPainted(false);
            b.setContentAreaFilled(false);
    
            JOptionPane.showMessageDialog(null, b);
        }
    
        public static void main(String[] args) throws Exception {
            URL url1 = new URL("https://i.stack.imgur.com/XZ4V5.jpg");
            URL url2 = new URL("https://i.stack.imgur.com/7bI1Y.jpg");
            final Image img1 = ImageIO.read(url1);
            final Image img2 = ImageIO.read(url2);
            //Create the frame on the event dispatching thread
            SwingUtilities.invokeLater(new Runnable(){
                @Override
                public void run() {
                    new HoverImage(img1, img2);
                }
            });
        }
    }
    

    【讨论】:

    • Hint.setRolloverIcon ("yellow.png");我使用该代码,它可以正常工作
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多