JavaFX:FXML文档中的绑定表达式

时间:2017-01-10 07:41:33

标签: javafx javafx-8 fxml

是不是JavaFX 8仍然可以将FXML中的控件属性直接绑定到控制器的属性? 类似的东西:

<?xml version="1.0" encoding="UTF-8"?>
<?import java.net.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>

<GridPane xmlns:fx="http://javafx.com/fxml"
   fx:controller="application.PaneController" minWidth="200">
   <Label id="counterLabel" text="${controller.counter}" />
   <Button translateX="50" text="Subtract 1"
      onAction="#handleStartButtonAction" />
</GridPane>

似乎不起作用。

1 个答案:

答案 0 :(得分:1)

是的,假设您在控制器中实现了正确的方法,这是可能的:

public class PaneController {

    private final IntegerProperty counter = new SimpleIntegerProperty(100);

    public IntegerProperty counterProperty() {
        return counter;
    }

    // this is also required
    public int getCounter() {
        return counter.get();
    }

    public void handleStartButtonAction() {
        counter.set(counter.get() - 1);
    }

}

此外,我不确定将Node放在同一个单元格中是否是最好的决定......