java - 根据int值显示字符串

标签 java javafx-2 javafx-8

我有 JavaFX 标签,我想用它来显示不同的状态。

int status;

Label finalFieldAgentStatus = new Label();

当我有 status = 0 时,我想打印 finalFieldAgentStatus = "Innactive"; 当我有 status = 1 时,我想打印 finalFieldAgentStatus = "Active";

是否有任何智能方法可以根据 status 值自动设置 finalFieldAgentStatus 字符串?

最佳答案

您应该更改状态字段的类型并使用IntegerProperty

通过这样做,您可以在此属性和 label.textProperty() 之间添加绑定(bind),以便在状态更改时自动更改值。

您可以在此处阅读有关绑定(bind)的更多信息:https://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm

编辑:

例如,您可以这样做:

IntegerProperty status = new SimpleIntegerProperty( );
Label label = new Label( );
status.addListener( ( observable, oldValue, newValue ) -> {
    label.setText( newValue.intValue( ) == 1 ? "Active" : "Inactive" );
} );

或者你可以这样做:

IntegerProperty status = new SimpleIntegerProperty( );
Label label = new Label( );
label.textProperty( ).bind( Bindings.createStringBinding(
        ( ) -> status.intValue( ) == 1 ? "Active" : "Inactive", status ) );

关于java - 根据int值显示字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547497/

相关文章:

java - 在 Tapestry 中选择名称而不是 ID

java - 我的代码运行,但当我比较两个数组的内容时,if 语句没有打印其内容

javafx-2 - JavaFX 中的内部框架

JavaFX 8,带有复选框滚动 Pane 的 ListView 问题

java - 为什么一个线程阻塞了我的 JavaFX UI 线程?

java - 远程运行 MapReduce

java - 如何导出IntelliJ IDEA项目以便在没有IntelliJ IDEA的另一台机器上编译

java - 设计具有用户访问控制的java GUI程序

scala - 如何从 Scala 启动 ScalaFX 应用程序?

java - 将多个jar合并为一个(使用maven)