我有一个远程文件模型,其中包含远程目录的文件名、文件路径和连接 IP、连接端口等字段。我只想在文本中显示文件路径。我正在使用 JFace 数据绑定将模型绑定到 SWT 文本,但我只能将 1 个字段绑定到它。请帮我将 Complete 模型绑定到 Text 并仅显示一个字段。还告诉我是否可能或有其他方法。
问问题
368 次
1 回答
2
如果我理解正确,您想在一个 SWT Text 小部件中显示多个模型字段?您可以通过以下方式执行此操作:
class FileModel {
private String name;
private String filePath;
private String ip;
// other fields, getters and setters
public String getFileSummary() {
return name + " : " + filePath + " : " + ip;
}
public void setFileSummary(String summary) {
// ignore
}
}
然后你可以像这样绑定它:
FileModel model;
new DataBindingContext().bindValue(SWTObservables.observeText(text, SWT.Modify),
BeansObservables.observeValue(model, "fileSummary"), new UpdateValueStrategy(), new UpdateValueStrategy());
这个想法是,在指定要在模型中绑定的“fileSummary”字段名称时,JFace 将为该字段查找 getter 和 setter,因此您实际上并不需要字段本身。
在 getter 中,您可以提供所需的信息,甚至可以在 setter 中解析一些特殊格式并将其分配给相关字段,如下所示:
public void setFileSummary(String summary) {
// todo: implement in a smart way;)
String[] parts = summary.split(" : ");
name = parts[0];
filePath = parts[1];
ip = parts[2];
}
于 2014-07-10T13:25:33.533 回答