целое число со списком в наблюдаемый список

У меня проблемы с установкой значения Integer в наблюдаемый список.

У меня есть следующий код и некоторые значения Integer в поле со списком. При нажатии кнопки я хочу добавить целое число из поля со списком в наблюдаемый список. Я могу сделать это со строками, но это не работает с целым числом. Мне также нужно получить данные в виде целых чисел, так как мне нужно выполнить некоторые вычисления. У кого-нибудь есть идея?

public class Resultat {
public SimpleStringProperty res_Auswärtsteam = new SimpleStringProperty();
public SimpleIntegerProperty res_Auswärtstore = new SimpleIntegerProperty();

public Integer getRes_auswärtstore() {
    return res_Auswärtstore.get();
}

public String getRes_auswärtsteam() {
    return res_Auswärtsteam.get();
}

}

public class Resultat_Controller implements Initializable {
// The table and columns
@FXML TableView<Resultat> result_tableview;
@FXML TableColumn result_Auswärtstore;
@FXML TableColumn result_Auswärtsteam;

@FXML Button result_btn_Hinzufügen;

@FXML ComboBox result_cbo_Auswärtstore;
@FXML ComboBox result_cbo_Auswärtsteam;

// The table's data
ObservableList<Resultat> data;

@Override
public void initialize(URL url, ResourceBundle rb) {
    // Set up the table data

    result_Auswärtstore.setCellValueFactory(new PropertyValueFactory<Resultat, Integer>("res_auswärtstore"));
    result_Auswärtsteam.setCellValueFactory(new PropertyValueFactory<Resultat, Integer>("res_auswärtsteam"));

    data = FXCollections.observableArrayList();
    result_tableview.setItems(data);

    result_cbo_Auswärtstore.getItems().clear();
    result_cbo_Auswärtstore.getItems().addAll("1", "2", "3", "4");
    result_cbo_Auswärtsteam.getItems().clear();
    result_cbo_Auswärtsteam.getItems().addAll("String 1", "String 2", "String 3", "String 4");
}    

@FXML
private void handleButtonAction(ActionEvent event) {
    Resultat resultateintrag = new Resultat();
    resultateintrag.res_Auswärtsteam.setValue(result_cbo_Auswärtsteam.getValue().toString());
    resultateintrag.res_Auswärtstore.setValue(2);
    data.add(resultateintrag);
}

}

На данный момент я установил значение по умолчанию 2 (которое, очевидно, должно исчезнуть). Спасибо


person user3721905    schedule 08.07.2014    source источник
comment
В полях @FXML отсутствуют общие типы. Измените ComboBox на ComboBox<Integer> и ComboBox<String>. Точно так же поля TableColumn должны быть TableColumn<Resultat, Integer> и TableColumn<Resultat, String> соответственно. Документация для ComboBox и < href="http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TableColumn.html" rel="nofollow noreferrer">TableColumn содержит дополнительную информацию.   -  person VGR    schedule 08.07.2014
comment
Кроме того, фабрика ячеек для result_Auswärtsteam должна быть PropertyValueFactory<Resultat, String>, поскольку тип свойства, на который она ссылается, — String.   -  person James_D    schedule 08.07.2014
comment
несвязанный: пожалуйста, изучите соглашения об именах Java и придерживайтесь их.   -  person kleopatra    schedule 09.07.2014
comment
Настройка типов решила мою проблему, большое спасибо.   -  person user3721905    schedule 09.07.2014
comment
@VGR, пожалуйста, предоставьте свой комментарий в качестве ответа, чтобы пользователь 3721905 мог его принять.   -  person Sergey Grinev    schedule 09.07.2014


Ответы (1)


В полях @FXML отсутствуют общие типы. Измените ComboBox на ComboBox<Integer> и ComboBox<String>. Точно так же поля TableColumn должны быть TableColumn<Resultat, Integer> и TableColumn<Resultat, String> соответственно. Документация для ComboBox и TableColumn содержит дополнительную информацию.

person VGR    schedule 09.07.2014