JavaFX:FXML 文档中的绑定表达式
JavaFX: Binding expression in FXML document
在 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>
以上好像不行
是的,假设您在控制器中实施了正确的方法,这是可能的:
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
放在同一个单元格中是否是最好的决定...
在 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>
以上好像不行
是的,假设您在控制器中实施了正确的方法,这是可能的:
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
放在同一个单元格中是否是最好的决定...