我需要一些帮助来理解为什么没有填充ArrayList,
我正在尝试将JFrame中存储的信息存储到JTextArea taht上的另一个JFrame上,我实际上有以下代码但由于某种原因信息没有被传递,它仍然是空的
我不希望任何人为我做我的硬件我只需指向正确的方向,
这是我迄今为止所做的代码。
public ArrayList<String> extractTableInfo() {
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
int nRow = model.getRowCount(), nCol = model.getColumnCount();
ArrayList<String> extractedInfo = new ArrayList<String>();
String rowInfo = "";
for (int i = 0; i < nRow; i++) {
for (int j = 0; j < nCol; j++) {
rowInfo = rowInfo + (String) model.getValueAt(i, j);
}
extractedInfo.add(rowInfo);
}
return extractedInfo;
}
这是第一个JFrame和第二个JFrame on按钮点击我有
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
Generate_Teams gt = new Generate_Teams();
ArrayList<String> TableInformation = new ArrayList<String>();
for(int i =0; i < gt.extractTableInfo().size(); i++){
TableInformation.add(gt.extractTableInfo().get(i));
}
for (int i = 0; i < TableInformation.size(); i++) {
jTextArea1.append(TableInformation.get(i));
}
}
我会帮助你提供任何帮助。
提前......
...修复
感谢你帮忙解决这个问题,
Edit ed = new Edit(extractTableInfo());
ed.setVisible(true);
在第一帧和第二帧中我做了这个
private ArrayList<String> infogot = new ArrayList<String>();
public Edit(ArrayList<String> getinfo)
{
initComponents();
this.infogot = getinfo;
}
for (int i = 0; i < infogot.size(); i++) {
jTextArea1.append(String.valueOf(infogot.get(i)));
}
它就像这样工作
答案 0 :(得分:1)
尝试调试代码。它可能有助于添加print语句来检查extractTableInfo
方法返回的ArrayList是否包含表的内容。
此外,下面的循环可以改进:
for (int i = 0; i < gt.extractTableInfo().size(); i++) {
TableInformation.add(gt.extractTableInfo().get(i));
}
看起来每当你调用extractTableInfo时,你都会创建一个新的ArrayList并一遍又一遍地从表中填充它。
改为使用:
ArrayList<String> extractedInfo = gt.extractTableInfo();
for (int i = 0; i < extractedInfo.size(); i++) {
TableInformation.add(extractedInfo.get(i));
}
甚至更好,使用:
TableInformation.addAll(gt.extractTableInfo());