用ListArray中的iText TextField替换某个String

时间:2013-09-04 10:06:14

标签: java arraylist itext textfield

使用iText我想创建一个包含来自文件DB的值的表的pdf文档。下一步,在将值放入表格之前,我想找到与预定义关键字相匹配的,并使用 替换的TextField 即可。因此,文本字段应位于适当的单元格中,即如果关键字位于第2行和第3列,则此单元格应为插入的文本字段。为了执行此操作,我编写了以下方法:

try {
    Scanner scan = new Scanner(new File("filedb.txt"));
    scan.useDelimiter(",|" + System.getProperty("line.separator"));

    int i = 0;
    while(scan.hasNext()) {
        String t1 = scan.next();
        String t2 = scan.next();
        String t3 = scan.next();
        String t4 = scan.next();

        // Puts all columns into the ArrayList
        List<Object> allColumns = new ArrayList<Object>();
        allColumns.add(t1);
        allColumns.add(t2);
        allColumns.add(t3);

        // *UPDATED* checks for 'keywrd' in columns and replaces them with TXT_FLD
        for (int n=0; n < allColumns.size(); n++) {
            PdfPCell cell = new PdfPCell();
            cell.setCellEvent(new TextFields(n));

            if (allColumns.get(n).equals("keywrd")) {
                allColumns.set(n, cell);
            }
        }

        // Inserts all columns into the table cells 
        for (PdfPCell values : allColumns) {
            table.addCell(values);
        }

        // creates TextFields at the last column of a given table
        PdfPCell cell = new PdfPCell();
        cell.setCellEvent(new TextFields(i));
        table.addCell(cell);
        i++;
    }
    scan.close();

} catch (Exception e) {
    e.printStackTrace();
}

错误:

  

类型List中的方法add(PdfPCell)不适用于参数(Object)

如何调整上面的结构代码以便根据关键字执行替换方法?

0 个答案:

没有答案