簡體   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