java将计算列添加到可观察列表中
我对java和JavaFX场景生成器相当陌生。从Scene builder和Java中很难找到关于如何链接/编码表单的教程。所以我最后有了一个问题
我有一个包含两列的可观察列表。列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);
}
}
我是否需要为c设置另一个设置模式,在这里我计算rA-rB
# 1 楼答案
只需向
Table
类添加一个getter方法,以返回用于其他列的值之间的差异可执行示例