gpt4 book ai didi

java - 如何将模型绑定(bind)到 SWT 文本但仅显示文本中的一个字段

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:02 27 4
gpt4 key购买 nike

我有一个远程文件模型,其中包含远程目录的文件名、文件路径和连接 IP、连接端口等字段。我只想在文本中显示文件路径。我正在使用 JFace 数据绑定(bind)将模型绑定(bind)到 SWT 文本,但我只能将 1 个字段绑定(bind)到它。请帮助我将完整模型绑定(bind)到文本并仅显示一个字段。也告诉我是否可能或有其他方法。

最佳答案

如果我没理解错的话,您想在一个 SWT 文本小部件中显示多个模型字段吗?您可以通过以下方式进行:

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
}

}

然后你可以这样绑定(bind)它:

FileModel model;
new DataBindingContext().bindValue(SWTObservables.observeText(text, SWT.Modify),
BeansObservables.observeValue(model, "fileSummary"), new UpdateValueStrategy(), new UpdateValueStrategy());

想法是,在指定“fileSummary”字段名称以在模型中绑定(bind)时,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];
}

关于java - 如何将模型绑定(bind)到 SWT 文本但仅显示文本中的一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24677269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com