NullPointerException bei Label.setText()

zhermann

Mitglied
Hallo,

stehe im Moment vor einem Rätsel. Versuche einem Label einen text zu zuweisen und bekomme immer einen NullPointerExeption. In einem anderem Contoller mache ich genau das gleiche und das funktioniert es. Sieht einer von Euch eventuell meinen Wald 😉?

Die relevante Zeiele ist:

Code:
this.content.setText(getXlsCellContent());                                   // Label mit selektiertem Zellinhalt befüllen


Hier der komplette Code:

Code:
package application.controller;

import java.io.File;
import java.io.IOException;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class SAPImportController {
   
   @FXML GridPane gridSAPImport;
   
   private int sheetCols;
   private int sheetRows;
   private Cell sheetCell;
   private String xlsCellContent;
   private Label content;
   
   public SAPImportController(File xlsFile ) throws BiffException, IOException {
       Workbook xlsBook = Workbook.getWorkbook(xlsFile);                                   // Excel Datei öffnen
       Sheet xlsSheet = xlsBook.getSheet(0);                                               // Sheet selectieren
       sheetCols = xlsSheet.getColumns();                                                   // wie viele Spalten?
       sheetRows = xlsSheet.getRows();                                                       // wie viele Zeilen?
           
       System.out.println("Zeilen:" + this.sheetRows  + " - Spalten: " + this.sheetCols);   // Kontrollausgabe - WIEDER LÖSCHEN
       
       for (int row = 0; row < sheetRows; row++) {                                           // Zeilen
           for (int col = 0; col < sheetCols; col++) {                                       // SPalten
               this.sheetCell = xlsSheet.getCell(col, row);                               // Selektiere Zelle Spalte/Zeile
               setXlsCellContent(sheetCell.getContents());                                   // Hole Inhalt von der selektireten Zelle
               
               System.out.println("Inhalt der Zelle ist: "+ getXlsCellContent() +"\n");   // Kontrollausgabe - WIEDER LÖSCHEN
               
               this.content.setText(getXlsCellContent());                                   // Label mit selektiertem Zellinhalt befüllen

               //gridSAPImport.add(new Label(content), col+1, row+1);                         // Label in das grid einfügen
           }
       }
   }

   public String getXlsCellContent() {
       return xlsCellContent;
   }

   public void setXlsCellContent(String xlsCellContent) {
       this.xlsCellContent = xlsCellContent;
   }
   
}
 
Nö, da das

Code:
System.out.println("Inhalt der Zelle ist: "+ getXlsCellContent() +"\n");

einen korrekten Wert liefert.
 
Moin,

dann poste doch den kompletten StackTrace und den dazu relevanten Code 🙄
So ist es eine einzige Rumraterei - und das will keiner !!

VG Klaus
 
Danke Harry,

du Hast den Wald gefunden. 🙂
Wenn ich das ganze im CONSTRUCTOR versuche 😡 ist die NullPointException voll kommen richtig.
Die Objekte sind n och nicht fertig initialisiert.
Hier bewahreitet sich wieder der Spruch: "Eile mit Weile"
Danke, Danke
 

Zurück
Oben