svoid jTextPane_adjustTextSizeToFillParentHeight(JTextPane pane) { jTextPane_adjustTextSizeToFillParentHeight(pane, 100); } svoid jTextPane_adjustTextSizeToFillParentHeight(JTextPane pane, int countdown) { if (countdown < 1 || pane == null || getParent(pane) == null) ret; swing { int pref = preferredHeight(pane); double ratio = doubleRatio(pane.getParent().getHeight(), pref); if (ratio == 1) ret; float size = pane.getFont().getSize2D(); //float newSize = (float) max(1, size*ratio); float newSize = ratio > 1 ? size+1 : size-1; print("pref=" + pref + ", new font size: " + newSize); setFontSize(pane, newSize); awtLater(10, r { jTextPane_adjustTextSizeToFillParentHeight(pane, countdown-1); }); } }