javaFX tableview中没有内容
所以我检查了另一个,但没有任何帮助 我有一个名为ledger的数据库,我想查看我的交易javaFX tableview中没有内容,javafx,dynamic,groovy,load,tableview,Javafx,Dynamic,Groovy,Load,Tableview,所以我检查了另一个,但没有任何帮助 我有一个名为ledger的数据库,我想查看我的交易 void buildData(){ final ObservableList<ObservableList<String>> data = null try{ //ResultSet ResultSet rs = sql.getTransactions(account.getValue().toString()) /
void buildData(){
final ObservableList<ObservableList<String>> data = null
try{
//ResultSet
ResultSet rs = sql.getTransactions(account.getValue().toString())
/**********************************
* TABLE COLUMN ADDED DYNAMICALLY *
**********************************/
for(int i=0 ; i<rs.getMetaData().getColumnCount(); i++){
//We are using non property style for making dynamic table
final int j = i
TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1))
col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString())
}
})
budgetTable.getColumns().addAll(col)
}
/********************************
* Data added to ObservableList *
********************************/
while(rs.next()){
//Iterate Row
ObservableList<String> row = FXCollections.observableArrayList()
for(int i=1 ; i<=rs.getMetaData().getColumnCount(); i++){
//Iterate Column
row.add(rs.getString(i))
}
println("Row [1] added "+row )
data?.add(row)
}
//FINALLY ADDED TO TableView
budgetTable.setItems(data)
}catch(Exception e){
e.printStackTrace()
System.out.println("Error on Building Data")
}
}
我没有错误,否则我就有很好的机会解决它。现在我不知道问题出在哪里。只是在构建时说“表中没有内容”。该文件是groovy文件,因此它看起来像python语法
提前感谢您的帮助、时间和见解!
祝你身体健康 我对Groovy不是很熟悉,但我相信我知道问题所在。首先,将
data
声明为final
,然后将null
分配给它
final ObservableList<ObservableList<String>> data = null;
致:
final observeList data=FXCollections.observearraylist();
应该能解决你的问题。确实是这个问题!非常感谢你。令人惊讶的是,我多次查看该代码却从未注意到。我不得不使用空安全操作符bc,我得到了一个空指针异常,现在我知道为什么了!
final ObservableList<ObservableList<String>> data = null;
final ObservableList<ObservableList<String>> data = null;
final ObservableList<ObservableList<String>> data = FXCollections.observableArrayList();