int start = getInteger(component, "start", 0);
int end = getInteger(component, "end", 0);
caret = hidden ? (fm.charWidth('*') * end) :
fm.stringWidth(text.substring(0, end));
if (start != end) {
int is = hidden ? (fm.charWidth('*') * start) :
fm.stringWidth(text.substring(0, start));
g.setColor(c_select);
g.fillRect(2 + left - offset + Math.min(is, caret), 1,
Math.abs(caret - is) + evm, height - 2 + evm);
}