gpt4 book ai didi

java - 将两个数组添加到 JavaFX TableView 中的两列

转载 作者:行者123 更新时间:2023-12-02 04:22:27 25 4
gpt4 key购买 nike

我已使用以下代码成功将一个数组添加到 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);
}

这会添加数组,但我得到类似这样的输出

enter image description here

谁能告诉我如何将它们添加在一起?

更新

我应该如何将数组 ab 添加在一起,这将给出这样的输出 enter image description here

更新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);
}

这样我就可以一次将内容添加到正确的行中,如果它是单个数组怎么办?

最佳答案

TableView 项目列表中的每个项目代表一行。

您的第一个循环添加了两行,每行都定义了一个year,但没有定义其他属性。

您的第二个循环添加了另外两行,每行都定义了一个 balance 但没有定义其他属性。

您必须修改列表中的现有对象,而不是添加更多行。

关于java - 将两个数组添加到 JavaFX TableView 中的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32599361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com