Добавляю данные из SQL запроса в таблицу. Всё хорошо работает, но когда в записях есть поле со значением null
, то ошибка.
public void load(String query) {
data = FXCollections.observableArrayList();
conn = ManagerDB.getConnection();
table.getItems().clear();
try {
rs = conn.createStatement().executeQuery(query);
for(int i=0 ; i<rs.getMetaData().getColumnCount(); i++){
final int j = i;
TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1));
col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
table.getColumns().add(col);
}
while(rs.next()){
ObservableList<String> row = FXCollections.observableArrayList();
for(int i=1 ; i<=rs.getMetaData().getColumnCount(); i++){
System.out.println(rs.getString(i));
row.add(rs.getString(i));
}
data.add(row);
}
table.setItems(data);
}catch(Exception e) {
e.printStackTrace();
}
}
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException at sample.ControllerList$6.call(ControllerList.java:223)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как можно выровнять значения в колонках JTable по середине?
Я хочу поместить в массив отобранные записи из файла, но программа когда программа начинает отбирать из следующей строки она стирает записи...
Необходимо чтобы я мог в метод add передавать массивы различной размерности а не только одномерные массивы int и уже в методе у массива увеличивать...