// Creating adaptive painter if required
final LabelPainter properPainter = LafUtils.getProperPainter ( painter, LabelPainter.class, AdaptiveLabelPainter.class );
// Properly updating painter
PainterSupport.uninstallPainter ( label, this.painter );
final Painter oldPainter = this.painter;
this.painter = properPainter;
applyPainterSettings ( properPainter );
PainterSupport.installPainter ( label, properPainter );
// Firing painter change event