import javax.swing.border.*; sclass jLiveValueSection_class extends SingleComponentPanel { LiveValue liveValue; S getTitle() { ret strOrEmpty(liveValue!); } *(LiveValue lv, Component c) { super(c); bindLiveValueListenerToComponent(this, liveValue = lv, r-awt { setBorder(BorderFactory.createTitledBorder( BorderFactory.createBevelBorder(BevelBorder.LOWERED), getTitle())); revalidate(); }); } } static JPanel jLiveValueSection(LiveValue lv, Component c) { ret swingNu(jLiveValueSection_class, lv, c); }