如果鼠标指针悬停在Windows XP中的开始按钮上,它将突出显示。我想在Java中做同样的事情。谁能帮我?如何在Java中将鼠标指针悬停在它们上时突出显示按钮(如XP中的“开始”按钮高亮显示)?
回答
一个可能的解决方案是为您的按钮创建一个图标,以便在滚动时显示,然后通过其setRolloverIcon将其添加到按钮中。鼠标的模型将完成显示该图标所需的所有功能。
甚至另一种解决方案是将ChangeListener添加到按钮的模型。在侦听器中,如果isRollover()返回true,则更改显示。
E.G.第一种技术。
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);
}
});
}
}
注意:您也可以使用'MouseListener',但由于这是一个更好的答案,我删除了我的答案。 – 2011-06-05 13:51:15
@安德鲁:但我喜欢它,尤其是清真的部分。顺便说一下,好的SSCCE。 – 2011-06-05 13:54:07
这是一个相关的[示例](http://stackoverflow.com/questions/4170134/java-swing-jcomponent-size/4170233#4170233)。 – trashgod 2011-06-05 14:24:10
这是一个网页吗?如果是这样,你可以轻松地用CSS做这种事情。
需要进一步的信息,真的。
不,不适用于网页..仅适用于简单的java应用 – 2011-06-05 12:01:37
Java是JavaScript的什么车是地毯。所以请确认它是否是一个Java应用程序或网页上的JavaScript。 – naveen 2011-06-05 11:15:12