JavaFX:FXML文档中的绑定表达式
在JavaFX8中,仍然可以将FXML中的控件属性直接绑定到控制器的属性吗? 比如:JavaFX:FXML文档中的绑定表达式,javafx,javafx-8,fxml,Javafx,Javafx 8,Fxml,在JavaFX8中,仍然可以将FXML中的控件属性直接绑定到控制器的属性吗? 比如: <?xml version="1.0" encoding="UTF-8"?> <?import java.net.*?> <?import javafx.geometry.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?>
<?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>
上述方法似乎不起作用。是的,假设您在控制器中实施了正确的方法,这是可能的:
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);
}
}
另外,我不确定是否将两个
节点
放在同一个单元格中是最佳决策…我只实现了CourProperty getter,而不是普通的getter。好的,这很有效。感谢您使用e(fx)clipse插件,您可以通过以下方式生成此getter/setter/property:right clic/source/generate JavaFX getter和setter