当我在 JavaFx 中将鼠标悬停在图像上时如何显示图像标题
How to show a title for image when I hover over it in JavaFx
我正在通过 JavaFx 做一个项目,我有一张图片,当我将鼠标悬停在图片上方时,我想显示有关该图片的一些信息(如 html 中的标题标签)。
知道我该怎么做吗?
使用Tooltip (Tooltip.install()
).
Tooltip.install(myImageView, new Tooltip("This is my image."));
您正在寻找的功能已在 the Tooltip
class 中实现,您可以使用 Tooltip.install
:
向 ImageView
添加一个
@Override
public void start(Stage primaryStage) {
Tooltip tooltip = new Tooltip("Whosebug logo");
ImageView imageView = new ImageView("https://cdn.sstatic.net/Sites/Whosebug/company/img/logos/so/so-logo.png?v=9c558ec15d8a");
imageView.setPickOnBounds(true);
Tooltip.install(imageView, tooltip);
StackPane root = new StackPane(imageView);
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
您可以轻松编写一个实用程序 class,允许您从 fxml 文件安装 Tooltip
:
package fxml;
import javafx.scene.Node;
import javafx.scene.control.Tooltip;
public final class TooltipUtil {
private TooltipUtil() {}
public static void setTooltip(Node node, Tooltip tooltip) {
Tooltip.install(node, tooltip);
}
// only here for the FXMLLoader
@Deprecated
public static Tooltip getTooltip(Node node) {
throw new UnsupportedOperationException();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Tooltip?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.StackPane?>
<?import fxml.TooltipUtil?>
<StackPane xmlns:fx="http://javafx.com/fxml/1">
<children>
<ImageView pickOnBounds="true" >
<image>
<Image url="https://cdn.sstatic.net/Sites/Whosebug/company/img/logos/so/so-logo.png?v=9c558ec15d8a"/>
</image>
<TooltipUtil.tooltip>
<Tooltip text="Whosebug logo" />
</TooltipUtil.tooltip>
</ImageView>
</children>
</StackPane>
我正在通过 JavaFx 做一个项目,我有一张图片,当我将鼠标悬停在图片上方时,我想显示有关该图片的一些信息(如 html 中的标题标签)。
知道我该怎么做吗?
使用Tooltip (Tooltip.install()
).
Tooltip.install(myImageView, new Tooltip("This is my image."));
您正在寻找的功能已在 the Tooltip
class 中实现,您可以使用 Tooltip.install
:
ImageView
添加一个
@Override
public void start(Stage primaryStage) {
Tooltip tooltip = new Tooltip("Whosebug logo");
ImageView imageView = new ImageView("https://cdn.sstatic.net/Sites/Whosebug/company/img/logos/so/so-logo.png?v=9c558ec15d8a");
imageView.setPickOnBounds(true);
Tooltip.install(imageView, tooltip);
StackPane root = new StackPane(imageView);
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
您可以轻松编写一个实用程序 class,允许您从 fxml 文件安装 Tooltip
:
package fxml;
import javafx.scene.Node;
import javafx.scene.control.Tooltip;
public final class TooltipUtil {
private TooltipUtil() {}
public static void setTooltip(Node node, Tooltip tooltip) {
Tooltip.install(node, tooltip);
}
// only here for the FXMLLoader
@Deprecated
public static Tooltip getTooltip(Node node) {
throw new UnsupportedOperationException();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Tooltip?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.StackPane?>
<?import fxml.TooltipUtil?>
<StackPane xmlns:fx="http://javafx.com/fxml/1">
<children>
<ImageView pickOnBounds="true" >
<image>
<Image url="https://cdn.sstatic.net/Sites/Whosebug/company/img/logos/so/so-logo.png?v=9c558ec15d8a"/>
</image>
<TooltipUtil.tooltip>
<Tooltip text="Whosebug logo" />
</TooltipUtil.tooltip>
</ImageView>
</children>
</StackPane>