static bool setTextKeepCaret(S text, JTextComponent c) { if (c == null) false; ret swing(-> { int caret = c.getCaretPosition(); if (eq(c.getText(), text)) false; c.setText(text); setCaretPosition(c, caret); true; }); } sbool setTextKeepCaret(JTextComponent c, S text) { ret setTextKeepCaret(text, c); }