2015-05-08 2 views
1

Я создаю PropertySheet и хочу добавить Property к листу. Проблема в том, что произойдет, если значение свойства изменится, PropertySheet необходимо обновить, чтобы отразить эти изменения. Как мне это сделать?Добавить свойство в ControlsFX 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); 
    } 
} 

ответ

0

Это, вероятно, слишком поздно, но все равно ...

Редактор свойств используется следующий метод из интерфейса PropetySheet.Item слушать изменения стоимости.

optional<ObservableValue<? extends Object>> getObservableValue();

Вы должны реализовать этот метод на классе PropertyItem.

Смежные вопросы