我正在创建一个PropertySheet,并且我想向工作表中添加一个Property。问题是,如果属性值发生更改,PropertySheet需要更新以反映这些更改。我该怎么做呢?
import java.util.Map;
import javafx.beans.property.Property;
import org.controlsfx.control.PropertySheet;
public class PropertyItem implements PropertySheet.Item {
private Map<String, Property> map;
private String key;
private String name;
private String description;
PropertyItem(Map<String, Property> map, String key, String name, String description){
this.map = map;
this.key = key;
this.name = name;
this.description = description;
}
@Override
public String getCategory() {
return null;
}
@Override
public String getDescription() {
return description;
}
@Override
public String getName() {
return name;
}
@Override
public Class<?> getType() {
return map.get(key).getValue().getClass();
}
@Override
public Object getValue() {
return map.get(key).getValue();
}
@Override
public void setValue(Object arg0) {
map.get(key).setValue(arg0);
}
}发布于 2016-04-08 19:31:39
这可能太晚了但不管怎样..。
属性编辑器使用PropetySheet.Item接口中的以下方法监听值更改。
optional<ObservableValue<? extends Object>> getObservableValue();
您需要在PropertyItem类上实现此方法。
https://stackoverflow.com/questions/30125787
复制相似问题