2016-01-15 27 views
0

當我設置數據到ObservableList它拋出空指針異常,我不明白這個問題。任何人都可以幫我找到解決方案。將數據設置到JavaFX中的TableView時出現空指針異常?

這裏是我的代碼:

@FXML 
private Label label; 
@FXML 
private ObservableList<ObservableList> data; 
@FXML 
private TableColumn column1; 
@FXML 
private TableColumn column2; 
@FXML 
private TableView table; 

public void initialize(URL url, ResourceBundle rb) { 
    // TODO 
    String selectSql = "select first_name,last_name from hr.employees"; 
    try (Connection conn = ConnectDB.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(selectSql)) { 
     System.out.println("Getting Connection...."); 
     while (rs.next()) { 
      ObservableList<String> temp = FXCollections.observableArrayList(); 
      temp.add(rs.getString(1)); 
      System.out.println("First Name == "+rs.getString(1)); 
      System.out.println("Last Name == "+rs.getString(2)); 
      temp.add(rs.getString(2)); 
      System.out.println("List Value === "+temp); 
      data.add(temp); 
      //table.setItems(temp); 
     } 
     table.setItems(data); 
    } catch (Exception e) { 
     //System.out.println("Error: "+e.getMessage()); 
     Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, e); 
    } 
} 

我收到錯誤---> data.add(臨時);

+0

的列表,其中線也異常提高?您有兩個ObservableList s:ObservableList temp = FXCollections.observableArrayList();和其他:是ObservableList 數據 請發佈stacktrace – pleft

+0

我越來越錯誤---> data.add(temp); – Thirunavukkarasu

+0

可能是@FXMLprivate ObservableList data;不適用於ObservableList類型,並且您的數據對象未實例化。 也許你想這樣寫: ObservableList data = table.getItems() – pleft

回答

0

使用data之前,初始化data = new ObservableList<ObservableList>();

+0

謝謝,它沒有顯示錯誤,但現在tableview是空的。問題是什麼? – Thirunavukkarasu

+0

@Thirunavukkarasu聽起來像是一個完全不同的問題,而且你沒有提供足夠的信息。 –