我对 java 和 JavaFX Scene Builder 还很陌生。很难从 Scene builder with Java 中找到有关如何链接/编码表单的教程。所以我最终对它提出了一个问题。
我有一个包含 2 列的可观察列表。A 列给我整数作为字符串 B 列另一个整数作为字符串 - 我现在如何计算列 C (A - B)?
到目前为止,我将代码设置如下:
主控制器类
public class MainController implements Initializable {
// Define table
@FXML
TableView<Table> tableID;
@FXML
TableColumn<Table, Integer> iA;
@FXML
TableColumn<Table, Integer> iB;
@FXML
TableColumn<Table, Integer> iC;
// Define Form
@FXML
TextField AInput;
@FXML
TextField BInput;
@FXML
Button submit;
// Define variables
// create table data
final ObservableList<Table> data = FXCollections.observableArrayList(
);
@Override
public void initialize(URL location, ResourceBundle resources) {
iC.setCellValueFactory(new PropertyValueFactory<Table, Integer>("rC"));
iA.setCellValueFactory(new PropertyValueFactory<Table, Integer>("rA"));
iB.setCellValueFactory(new PropertyValueFactory<Table, Integer>("rB"));
tableID.setItems(data);
}
public void onAddItem(ActionEvent event) {
Table entry = new Table(Integer.parseInt
(AInput.getText()), Integer.parseInt
(BInput.getText()));
// insert data in table
data.add(entry);
}
}
}
表类
public class Table {
private final SimpleIntegerProperty rA;
private final SimpleIntegerProperty rB;
public Table(Integer sA, Integer sB) {
this.rA = new SimpleIntegerProperty(sA);
this.rB = new SimpleIntegerProperty(sB);
}
public Integer getRA() {
return rA.get();
}
public void setRA(Integer v) {
rA.set(v);
}
public Integer getRB() {
return rB.get();
}
public void setRB(Integer v) {
rB.set(v);
}
}
我是否需要为计算 rA - rB 的 c 设置另一个设置模式?