У меня есть listBox, который заполнен некоторыми данными из моей базы данных mysql. Я хочу добавить выбранный элемент в tableView из списка. Проблема в том, что когда я нажимаю кнопку «Добавить», выбранный элемент добавляется в 1-я ячейка. Но когда я выбираю другой элемент, а затем добавляю его, он переписывается в 1-й ячейке. Вот мой код.TableView вставить данные из поля списка javafx
Button Select= new Button("Select");
private TableView table = new TableView<>();
public void start(Stage primaryStage) throws Exception{
TableColumn<Map, String> NameCol = new TableColumn<>("NameCol");
TableColumn<Map, String> QuantityCol = new TableColumn<>("Quantity");
TableColumn<Map, String> PriceCol = new TableColumn<>("Price");
ObservableList <String> items = FXCollections.observableArrayList (
"0" , "1" , "2" , "3" , "4" ,
"5" , "6" , "7" , "8" , "9");
table.getColumns().addAll(NameCol, QuantityCol, PriceCol);
QuantityCol.setCellFactory(ChoiceBoxTableCell.forTableColumn (items));
table.setItems(generateDataInMap());
table.setEditable(true);
table.getSelectionModel().setCellSelectionEnabled(true);
table.getColumns().setAll(NameCol, QuantityCol,PriceCol);
Select.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
try {
table.setItems(generateDataInMap());
NameCol.setCellValueFactory(new MapValueFactory(Column1MapKey));
} catch (Exception ex) {
Logger.getLogger(mainMenu.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
private ObservableList<Map> generateDataInMap() {
int count = 1;
ObservableList<Map> allData = FXCollections.observableArrayList();
Map<String, String> dataRow = new HashMap<>();
String value1 = nameView.getSelectionModel().getSelectedItem();
dataRow.put(Column1MapKey, value1);
allData.add(dataRow);
System.out.println(dataRow);
return allData;
}
public static void main(String[] args) {
launch(args);
}
Я не написал весь код, просто блок кода. Может кто-то, пожалуйста, помогите мне. Я буду очень признателен :) :)
Да, я это пробовал .. используя это тоже заменяет данные в 1-й ячейке. Мне нужно добавить во 2-ю ячейку i.e ячейку ниже нее. Я очень новичок в javafx. Было бы очень приятно, если бы вы могли показать мне пример –