Jtable到Java中的TextArea

时间:2011-12-19 11:13:33

标签: java swing netbeans arraylist jtable

我需要一些帮助来理解为什么没有填充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)));
    }

它就像这样工作

1 个答案:

答案 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());