sclass JCalculatedComponent extends SingleComponentPanel is ChangeTriggerable {
settable IF0 makeComponent;
*(IF0 *makeComponent) {}
transient ReliableSingleThread rstMakeComponent = new(-> {
setComponent(makeComponent?!);
});
{
bindToComponent(this, -> {
if (!hasComponent()) rstMakeComponent.trigger();
}, null);
}
public void change {
rstMakeComponent.trigger();
}
}