2014-04-25 2 views
0

테이블 배열 (2 테이블)을 만들려고합니다. nullpointer 예외가있는 마지막 행에서 프로그램이 멈 춥니 다. 왜 그런가?PdfPTables 배열 [] 채울 때 nullpointer 예외

com.lowagie.text.pdf.PdfPTable[] table = new com.lowagie.text.pdf.PdfPTable[1]; 
// the cell object 
com.lowagie.text.pdf.PdfPCell cell; 
// header 

cell = new PdfPCell(new Phrase(wdComponentAPI.getMessage("Ordernr"))); 
cell.setColspan(1); 
cell.setBackgroundColor(Color.LIGHT_GRAY); 
cell.setHorizontalAlignment(Element.ALIGN_CENTER); 
table[0].addCell(cell); 

답변

1

배열 업데이트

tables[0] = new PdfPTable(); 

또는 PdfPTable() 이외의 다른 생성자를 사용하여 정확히 여기

을 필요에 따라된다

는 다음과 같이이 객체 추가 생성 된 객체로 생성되지 않음

PdfPTable [] tables = new PdfPTable[1]; 
tables[0].doStuff() // null pointer 

table[0]이 시점에서 여전히 null입니다, 당신은 단지 길이 1의 배열을 만들

com.lowagie.text.pdf.PdfPTable[] table = new com.lowagie.text.pdf.PdfPTable[1]; 

으로 배열

PdfPTable [] tables = new PdfPTable[1]; 
tables[0] = new PdfPTable(); 
tables[0].doStuff() // works good! 
1

작성했지만 배열은 없지만 아무것도 없습니다. 배열 필드 "table [0]"에 null이 포함되어 있습니다. 코드가

com.lowagie.text.pdf.PdfPTable[] table = new com.lowagie.text.pdf.PdfPTable[1]; 
tables[0] = new PdfPTable(); 
// the cell object 
com.lowagie.text.pdf.PdfPCell cell; 
// header 

cell = new PdfPCell(new Phrase(wdComponentAPI.getMessage("Ordernr"))); 
cell.setColspan(1); 
cell.setBackgroundColor(Color.LIGHT_GRAY); 
cell.setHorizontalAlignment(Element.ALIGN_CENTER); 
table[0].addCell(cell); 
1

내부의 객체를 생성합니다.

table[0] = new PdfPTable(1); // create a PDFTable with one column 
+0

작품을 작성하기 전에 객체를 생성하고 할당해야합니다. 응답 주셔서 감사합니다 – user3414861

+0

@ user3414861 여러분을 환영합니다! – A4L