如何将工具提示(图像)添加到按钮?

时间:2016-07-05 07:53:22

标签: java javafx

如何在javafx中添加工具提示(图像中的i按钮)。enter image description here

                final Label response = new Label();
                final ImageView imageViews = new ImageView(
                        new Image("http://icons.iconarchive.com/icons/aha-soft/desktop-buffet/128/Pizza-icon.png"));
                final Button buttons = new Button("test", imageViews);
                buttons.setOnAction(new EventHandler<ActionEvent>() {
                    @Override
                    public void handle(ActionEvent event) {
                        response.setText("test");
                    }
                });

                buttons.getStyleClass().add("button1");

1 个答案:

答案 0 :(得分:2)

这是带有图片的Tooltip的代码:

Image image = new Image(IMAGE_LOC);
ImageView imageView = new ImageView(image);
Tooltip tooltip = new Tooltip();
tooltip.setGraphic(imageView);
button.setTooltip(tooltip);

但是,在查看图像模型时,突出显示的区域看起来并不像工具提示。看起来你想要的是一个图像或按钮,有人可以点击以获取更多信息。您可以使用带有图形的标准按钮来执行此操作:

Image image = new Image(IMAGE_LOC);
ImageView imageView = new ImageView(image);
Button button = new Button();
button.setGraphic(imageView);
button.setOnAction(event -> showInfoPopup());

您可以使用CSS style生成的按钮来获得您想要的样式。上面代码中的showInfoPopup()方法是您编写的一些代码,用于显示您希望的信息消息。

或者您可以创建一个可点击的ImageView

Image image = new Image(IMAGE_LOC);
ImageView imageView = new ImageView(image);
Glow glow = new Glow();
imageView.effectProperty().bind(
    Bindings.when(imageView.hoverProperty()).then(glow).otherwise(null)
);
imageView.setOnMouseClicked(event -> showInfoPopup());