Java 如何使用Vaadin按钮鼠标盖

Java 如何使用Vaadin按钮鼠标盖,java,vaadin,Java,Vaadin,谁能告诉我在我的项目中为图像添加鼠标盖的基本步骤吗?我创建了一个按钮,并将其样式设置为链接,但我希望当用户的光标位于图像上方时,图像会更改为相同大小的另一个按钮。我知道我必须在style.css文件中添加一些内容。我读了好几篇论坛帖子,似乎都没法让它发挥作用 workingButton.setStyleName(BaseTheme.BUTTON_LINK); workingButton.setIcon(new FileResource(new File(basepath + "help.png"

谁能告诉我在我的项目中为图像添加鼠标盖的基本步骤吗?我创建了一个按钮,并将其样式设置为链接,但我希望当用户的光标位于图像上方时,图像会更改为相同大小的另一个按钮。我知道我必须在style.css文件中添加一些内容。我读了好几篇论坛帖子,似乎都没法让它发挥作用

workingButton.setStyleName(BaseTheme.BUTTON_LINK);
workingButton.setIcon(new FileResource(new File(basepath + "help.png")));

谢谢。

使用
按钮。setIcon
方法将添加
img
元素,这意味着
src
属性不能使用CSS更改(或者至少不能对所有浏览器进行可靠更改)

但是,您可以使用CSS和按钮图像的伪类
:hover
(而不是按钮上的
setIcon
方法)来实现所需的功能。为此,请执行以下操作:

一,。确保在项目中可以访问这两个图像(正常和悬停)

二,。在服务器端代码中添加按钮:

Button cssButton = new Button("CSS Hover");
cssButton.setStyleName(BaseTheme.BUTTON_LINK);
cssButton.setId("cssBtn");
iii.添加以下CSS:

#cssBtn {
   padding: 0 40px;
   background-image: url("images/help.png");
   background-repeat: no-repeat;
}

#cssBtn:hover {
  padding: 0 40px;
  background-image: url("images/help_invert.png");
  background-repeat: no-repeat;
}
这将实现以下结果:

通常:

当鼠标悬停在上方时:


使用
按钮。setIcon
方法将添加一个
img
元素,这意味着
src
属性不能使用CSS更改(或者至少不能可靠地用于所有浏览器)

但是,您可以使用CSS和按钮图像的伪类
:hover
(而不是按钮上的
setIcon
方法)来实现所需的功能。为此,请执行以下操作:

一,。确保在项目中可以访问这两个图像(正常和悬停)

二,。在服务器端代码中添加按钮:

Button cssButton = new Button("CSS Hover");
cssButton.setStyleName(BaseTheme.BUTTON_LINK);
cssButton.setId("cssBtn");
iii.添加以下CSS:

#cssBtn {
   padding: 0 40px;
   background-image: url("images/help.png");
   background-repeat: no-repeat;
}

#cssBtn:hover {
  padding: 0 40px;
  background-image: url("images/help_invert.png");
  background-repeat: no-repeat;
}
这将实现以下结果:

通常:

当鼠标悬停在上方时:


Related:和另一个:。谢谢,但这些链接并没有专门针对我的问题。我只想在鼠标悬停时更改图像。我有一个带有文本的图像,还有一个周围有发光效果的图像。我只想在悬停时显示辉光效果图像。相关:和另一个:。谢谢,但这些链接并没有专门解决我的问题。我只想在鼠标悬停时更改图像。我有一个带有文本的图像,还有一个周围有发光效果的图像。我只想在悬停时显示光晕效果图像。