Я успешно добавлен один массив в один столбец в TableView
со следующим кодом:Добавление двух массивов в двух столбцах в JavaFX TableView
data = FXCollections.observableArrayList();
String[] a = {"a", "b"};
yearColumn.setCellValueFactory(new PropertyValueFactory<test3, String>("Year"));
interestColumn.setCellValueFactory(new PropertyValueFactory<test3, String>("Interest"));
principalColumn.setCellValueFactory(new PropertyValueFactory<test3, String>("Principal"));
balanceColumn.setCellValueFactory(new PropertyValueFactory<test3, String>("Balance"));
paymentsAnnual.setItems(data);
for (String anA : a) {
test3 test31 = new test3();
test31.year.setValue(anA);
data.add(test31);
}
test3.java
import javafx.beans.property.SimpleStringProperty;
public class test3 {
public SimpleStringProperty year = new SimpleStringProperty();
public SimpleStringProperty interest = new SimpleStringProperty();
public SimpleStringProperty principal = new SimpleStringProperty();
public SimpleStringProperty balance = new SimpleStringProperty();
public String getYear() {
return year.get();
}
public String getInterest() {
return interest.get();
}
public String getPrincipal() {
return principal.get();
}
public String getBalance() {
return balance.get();
}
}
Теперь у меня есть проблема когда я пытаюсь вставить новый массив в другой столбец за раз. что у меня есть массив String[] b = {"hello", "hi"}
, затем добавить его с помощью того же для каждого цикла, что-то вроде этого
for (String anA : a) {
test3 test31 = new test3();
test31.year.setValue(anA);
data.add(test31);
}
for (String anA1 : b) {
test3 test31 = new test3();
test31.balance.setValue(anA1);
data.add(test31);
}
это добавляет массив, но я получаю выходной что-то вроде этого
Может кто-нибудь скажет мне, как добавить их вместе?
UPDATE
Как я должен добавить массив a
и b
вместе, что дало бы выход, как это
ДОПОЛНЕНО-2
У меня есть один из способов сделать это, сделав его двойной массив
String[] a = {{"a", "b"},{"hello","hi"}};
for (int i = 1; i < a[0].length; i++){
test3 test31 = new test3();
test31.year.setValue(a[0][i]);
test31.balance.setValue(a[1][i]);
data.add(test31);
}
таким образом я могу добавить содержимое за раз в правильной строке, что, если его единственный массив?
В чем вопрос? Вы хотите, чтобы «привет, привет» в той же строке, что и «a, b»? Если это так, вам нужно сначала получить уже созданные объекты из ваших данных, а затем добавить «привет, привет» на ваши объекты. – NwDev