private int tweakPosition() { int pos = target.getCaretPosition(); if (selectedLinesButton.isSelected()) { if (forwardButton.isSelected()) { int selstart = target.getSelectionStart(); if (selstart < pos && selstart != -1) { pos = selstart; } } else { int selend = target.getSelectionEnd(); if (selend > pos && selend != -1) { pos = selend; } } } else { int selstart = target.getSelectionStart(); if (selstart < pos && selstart != -1) { pos = selstart; } } return pos; }