Caret c = t.getCaret(); c.moveDot(cur); c.setMagicCaretPosition(t.modelToView(cur).getLocation()); } catch (BadLocationException ble) {  }
    public void actionPerformed(ActionEvent event)    {      JTextComponent t = getTextComponent(event);     try     {       Point p = t.modelToView(t.getCaret().getDot()).getLocation();       int cur = t.getCaretPosition();       int y = p.y;       int length = t.getDocument().getLength();       while (y == p.y && cur < length)         y = t.modelToView(++cur).getLocation().y;       if (cur != length)         cur--;       Caret c = t.getCaret();       c.moveDot(cur);       c.setMagicCaretPosition(t.modelToView(cur).getLocation());     }     catch (BadLocationException ble)     {       // Nothing to do here     }    }