@Override public void execute(final Object algn) { // updates the visible area final int p = scroll.pos(); final int y = rend.cursorY(); final int m = y + rend.fontHeight() * 3 - getHeight(); if (p < m || p > y) { final int align = (Integer) algn; scroll.pos(align == 0 ? y : align == 1 ? y - getHeight() / 2 : m); } rend.repaint(); }