繁体   English   中英

当鼠标指针悬停在Java中时如何突出显示按钮(如XP中的开始按钮突出显示)?

[英]How do I Highlight buttons when mouse pointer is hovered upon them in Java(Like Start button highlights in XP)?

如果鼠标指针悬停在 Windows XP 中的开始按钮上,它会突出显示。 我想在 Java 中做同样的事情。 谁能帮我?

一种可能的解决方案是为您的按钮创建一个图标,以便在鼠标悬停时显示,然后通过其 setRolloverIcon 将其添加到按钮。 鼠标的 model 将完成显示此图标所需的一切。

甚至另一种解决方案是在按钮的 model 中添加一个 ChangeListener。 在侦听器中如果 isRollover() 返回 true,则更改显示。

第一种技术的EG。

import javax.swing.*;
import java.net.URL;
import java.awt.Image;
import javax.imageio.ImageIO;

class ButtonRollover {
    public static void main(String[] args) throws Exception {
        URL imageUrl2 = new URL("http://pscode.org/media/stromlo2.jpg");
        URL imageUrl1 = new URL("http://pscode.org/media/stromlo1.jpg");

        final Image image2 = ImageIO.read(imageUrl2);
        final Image image1 = ImageIO.read(imageUrl1);

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JButton button = new JButton("Hover Me!");

                button.setIcon(new ImageIcon(image2));
                button.setRolloverIcon(new ImageIcon(image1));

                JOptionPane.showMessageDialog(null, button);
            }
        });
    }
}

这是针对 web 页面的吗? 如果是这样,您可以使用 CSS 轻松完成此类操作。

确实需要更多信息。

暂无
暂无

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

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