![](/img/trans.png)
[英]How to Transform Observable<Observable<List<T>>> to Observable<List<T>>
[英]Observable List
在嘗試聲明一個新的ObservableList
:
ObservableList<Account> userAccounts = new FXCollections.observableArrayList();
我在observableArrayList();
收到錯誤observableArrayList();
其中說:
找不到符號,符號:class
observableArrayList
,location:classFXCollections
。
這是我的import語句
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
這是我的方法
public ObservableList<Account> getUsersAccounts(int memberID) {
ObservableList<Account> userAccounts = new FXCollections.observableArrayList();
try {
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM account WHERE member_id='" + memberID + "'";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
Account account = new Account(rs.getInt("member_id"), rs.getString("account_type"), rs.getDouble("balance"));
userAccounts.add(account);
}
} catch (SQLException ex) {
Logger.getLogger(JDBCManager.class.getName()).log(Level.SEVERE, null, ex);
}
return userAccounts;
}
我錯過了什么,為什么我不能聲明一個新的ObservableList
?
可以使用構造函數直接創建實例,也可以通過調用可以調用此構造函數的方法隱式創建實例。
在你的情況下,它是一個靜態方法。 看看這些技巧:
List<String> a = new ArrayList<>();
List<String> b = Lists.createList();
class Lists {
public static <T> List<T> createList() {
return new ArrayList<>();
}
}
更改
ObservableList<Account> userAccounts = new FXCollections.observableArrayList();
至
ObservableList<Account> userAccounts = FXCollections.observableArrayList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.