当前位置: 首页 > 知识库问答 >
问题:

用两种不同的值绑定标签-javafx

拓拔高畅
2023-03-14

我有一个live javafx用户应用程序,它有一个标签:答案数量/问题数量,答案数量随着用户回答问题而增加,而问题数量随着一个类向用户提问而增加。

标签最初看起来像-0/0

我想将两个不同的变量(NumberOfAnswers,NumberOfQuestions)绑定到这个标签上,比如说,如果我向用户抛出了10个问题,而用户回答了2个,那么应该是这样的:2/10

Label ansQuestLbl = new Label("0/0");
    if (answerConnector!= null) {
        log.info("Going to bind , No of answers: "+answerConnector.getNoOfAnswers());
        ansQuesLbl.textProperty().bind(answerConnector.getNoOfAnswers().asString());
        log.info("Bound number of answers with label on UI");
    }

这只会将多个答案绑定到标签。

提前谢谢。


共有2个答案

东郭俊楠
2023-03-14

<代码>绑定。格式可用于此目的:

ansQuesLbl.textProperty().bind(Bindings.format("%d/%d",
                                               answerConnector.noOfAnswersProperty(),
                                               answerConnector.noOfQuestionsProperty()));
全飞扬
2023-03-14

你只需要Bindings.concat(Object... args)

例如:

IntegerProperty noOfAnswers = answerConnector.noOfAnswersProperty();
IntegerProperty noOfQuestions = answerConnector.noOfQuestionsProperty();
ansQuesLbl.textProperty().bind(Bindings.concat(noOfAnswers, "/", noOfQuestions));

或:

IntegerProperty noOfAnswers = answerConnector.noOfAnswersProperty();
IntegerProperty noOfQuestions = answerConnector.noOfQuestionsProperty();
ansQuesLbl.textProperty().bind(noOfAnswers.asString().concat("/").concat(noOfQuestions.asString()));

注意:为了避免属性出现问题,我建议遵循javafx命名约定,以便answerConnector的类如下所示:

public class AnswerConnector {
    private final IntegerProperty noOfAnswers = new SimpleIntegerProperty(0);

    public IntegerProperty noOfAnswersProperty() {
        return noOfAnswers;
    }

    public int getNoOfAnswers() {
        return noOfAnswers.get();
    }

    public void setNoOfAnswers(int noOfAnswers) {
        this.noOfAnswers.set(noOfAnswers);
    }

    // same for noOfQuestions
}
 类似资料:
  • 问题内容: 是否可以将JavaFX Slider的Double-Value绑定到Label?我想得到这样的东西: 谢谢您的帮助。 问题答案: 假设您有一个返回a 的属性访问器方法,则可以执行 如果要使用Formatting String格式化字符串 ,请执行以下操作

  • 是否可以将JavaFX滑块中的双精度值绑定到标签?我想得到这样的东西: 谢谢你的帮助。

  • 我想绑定JavaFX与值。 我试过了,例如。 或 但我总是得到NullPointerException。 我怎么才能修好它?

  • 这不会改变我的标签。只有第一个运行,其他的不会改变。在Java摇摆中,它起作用了,但在Javafx中没有。

  • 问题内容: 更新说明: 上面的示例 正常工作 ,因为版本1.0-rc4 解决 了需要不必要的变量的问题。 原始问题: 我完全按照文档中的描述进行操作,但不起作用: main.xml: button.xml: MyActivity.java: 如何获得按钮? 问题答案: 问题在于所包含的布局没有被视为数据绑定布局。要使其成为一体,您需要传递一个变量: button.xml: main.xml: 然后

  • 我有两个不同的方法,在两个不同的类中。我希望他们都能阅读同一行输入,并检查不同的内容。一个查找“给我冲杯咖啡”之类的说明,另一个查找不同的关键字,如“请”和“谢谢”(这些影响程序对我的反应): 然后我在我的主字符串中调用它们,只是为了测试它们: 我的控制台显示如下: 我知道发生了什么,但我想不出其他办法。我也尝试过使用同一个扫描仪,不同的字符串,但仍然不起作用。我怎样才能使这两种方法都能读取我的第