How do I change the default behavior of PropertySheet editors?
Issue: How do I specify the kind of renderer which will represent the look of property value cell (in the same manner as it usually does for JTable)? For example, I want a string property not to be shown in grey if it’s not editable. Solution: If you specify a custom inplace editor it will also be used for rendering.
Issue: How can I provide a new kind of inplace editor? For example, I want to have a property which should be shown at Property Sheet like a combo-box or a spinner control. Solution: See the docs for the InplaceEditor interface.
Issue: How do I specify that a value is not editable in-place? Solution: Provide a custom inplace editor that provides a disabled component for the inplace editor. Or mark it non-editable, but supply a custom editor that does edit it.
Issue: How do I specify that a property has a custom editor? Solution: See the docs for the PropertyEditor interface.
Issue: How can I copy text from a non-editable property? Solution: If the non-editable property has a Custom editor ('…' button) you can easily use Ctrl+c on content of a Custom editor. If the non-editable property doesn’t have a Custom editor you can select property cell and press Ctrl+c, but whole line is copied (property name and value).
Issue: How do I access the Node the property belongs to? Solution:
class MyEditor implements ExPropertyEditor {
PropertyEnv env;
public void attachEnv(e) {
env = e;
}
public void anyMethod() {
Object[] arr = env.getBeans();
// now arr contains either the real bean objects if invoked on Object
// or it contains Node that the properties belong to
}
}