gpt4 book ai didi

java - JTable 第一次执行时不显示结果

转载 作者:行者123 更新时间:2023-12-01 11:36:52 25 4
gpt4 key购买 nike

该代码是将数据添加到JTable中。

            String [] header = new String [] {"No","Customer","Video","Date","Days","Status-Closed"};
Contract [] contractArray = contractList.toArray(new Contract [contractList.size()]);
Object [][] datarow = new Object [contractArray.length][6];

try{
//Read the objects from file and store in the List
ObjectInputStream inputStream = new ObjectInputStream(
new FileInputStream("contractfile"));
Object o = inputStream.readObject();

while(o != null){
Contract c = (Contract) o;
contractList.add(c);
o = inputStream.readObject();
}

inputStream.close();

} catch (EOFException ex) {
//
}

//Push data to the array
int no = 0;
for(int i = 0; i < contractArray.length; i++){
no++;
datarow[i][0] = no;
datarow[i][1] = contractArray[i].getAccount().getName();
datarow[i][2] = contractArray[i].getVideo().getName();
datarow[i][3] = contractArray[i].getDate();
datarow[i][4] = contractArray[i].getDay();
datarow[i][5] = contractArray[i].getClosed();
}

//set the table model
TableModel mod = new DefaultTableModel(datarow,header);
table.setModel(mod);

第一次点击按钮时,表格只显示标题,第二次点击则将数据放入表格中。调试时,第一次 datarow[][] 没有元素,第二次则包含所有对象。为什么,有人可以帮我吗?

最佳答案

在从文件加载列表之前,您可以调用 Contract [] ContractArray = ContractList.toArray(new Contract [contractList.size()]); 。所以 size() == 0。

之后datarow = new Object [contractArray.length][6];但长度为0

关于java - JTable 第一次执行时不显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878782/

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