public Positionable finishClone(Positionable p) { PositionableLabel pos = (PositionableLabel) p; pos._text = _text; pos._icon = _icon; pos._control = _control; // pos._rotateText = _rotateText; pos._unRotatedText = _unRotatedText; pos.setLocation(getX(), getY()); pos._displayLevel = _displayLevel; pos._controlling = _controlling; pos._hidden = _hidden; pos._positionable = _positionable; pos._showTooltip = _showTooltip; pos.setTooltip(getTooltip()); pos._editable = _editable; if (getPopupUtility() == null) { pos.setPopupUtility(null); } else { pos.setPopupUtility(getPopupUtility().clone(pos, pos.getTextComponent())); } pos.setOpaque(isOpaque()); if (_namedIcon != null) { pos._namedIcon = cloneIcon(_namedIcon, pos); pos.setIcon(pos._namedIcon); pos.rotate(_degrees); // this will change text in icon with a new _namedIcon. } pos.updateSize(); return pos; }
@Override public void setText(String text) { _unRotatedText = text; _text = (text != null && text.length() > 0); // when "" is entered for text, and a font has been specified, the descender // distance moves the position if ( /*_rotateText &&*/ !isIcon() && _namedIcon != null) { log.debug("setText calls rotate({})", _degrees); rotate(_degrees); // this will change text label as a icon with a new _namedIcon. } else { log.debug("setText calls super.setText()"); super.setText(text); } }