首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变悬停按钮的内容(JavaFX)

问改变悬停按钮的内容(JavaFX)
EN

Stack Overflow用户
提问于 2015-11-15 11:51:00
回答 1查看 1.9K关注 0票数 0

我在寻找一种在“悬停”时设置按钮文本的方法。

代码语言:javascript
复制
Logic:

if (button.isHover()){
  button.setText("blabla");
}

不管是css解决方案还是代码解决方案都可以!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-15 12:04:58

可以使用绑定,也可以将侦听器添加到按钮的hoverProperty()中。

绑定

代码语言:javascript
复制
button.textProperty().bind(
             Bindings.when(button.hoverProperty())
                     .then("Hovered")
                     .otherwise("Not Hovered"));

侦听器

代码语言:javascript
复制
button.hoverProperty().addListener((ov, oldValue, newValue) -> {
    if (newValue) {
        button.setText("Hovered");
    } else {
        button.setText("Not Hovered");
    }
});

MCVE

代码语言:javascript
复制
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {
    public void start(Stage stage) {
        VBox pane = new VBox();
        pane.setAlignment(Pos.CENTER);
        Button button = new Button();
        button.textProperty().bind(
            Bindings.when(button.hoverProperty())
                    .then("Hovered")
                    .otherwise("Not Hovered"));
        pane.getChildren().addAll(button);
        Scene scene = new Scene(pane, 200, 200);
        stage.setScene(scene);
        stage.show();
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33719352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档