void (Editor editor, String text, HintWidthAdjustment widthAdjustment, boolean animated) { setWidthAdjustment(widthAdjustment); FontMetrics metrics = getFontMetrics(editor, useEditorFont()).getMetrics(); startWidth = calcHintTextWidth(getText(), metrics); setText(text); int endWidth = calcHintTextWidth(getText(), metrics); steps = Math.max(1, Math.abs(endWidth - startWidth) / metrics.charWidth('a') / ANIMATION_CHARS_PER_STEP); step = animated ? 1 : steps + 1; }