我的目标是模型,它将提供名为令牌的二维只读可观察自定义类集合。想象一下它是一排代币。
我想知道如何正确处理这些事件:
我可以使用哪种数据结构将返回的可观察集合设为只读? unmodifiableObservableList
?
代码草案:
public class Model {
private ObservableList<ObservableList<Token>> tokens;
public Model {
// Some init data
tokens = FXCollections.observableArrayList();
for (int i = 0; i < 3; ++i) {
final ObservableList<Token> row = FXCollections.observableArrayList();
tokens.add(i, row);
for (int j = 0; j < 10; ++j) {
row.add(new Token(i * 100 + j));
}
}
}
public ObservableList<ObservableList<Token>> getTokens() {
return tokens;
}
}
public class Processor {
private Model model;
public Processor() {
model = new Model();
model.getTokens().addListener(…) {…}
}
}