label.setMaxRows(maxRows); label.setMinRows(minRows); label.setPreferredWidth(preferredWidth); if (defaultRows == 1 && maxRows == 1 && minRows == 1) { label.setLineWrap(false);
label.setRows(0); paintWidth = getPreferredSize(label).width; label.setPreferredWidth(oldPreferredWidth > 0 ? Math.min(label.getWidth(), oldPreferredWidth) : label.getWidth()); Dimension sizeOnWidth = getPreferredSize(label); if (sizeOnWidth.width < paintWidth) { label.setPreferredWidth(oldPreferredWidth); label.setRows(oldRows);
try { if (((StyledLabel) label).isLineWrap() && label.getWidth() > 0) { ((StyledLabel) label).setPreferredWidth(label.getWidth()); ((StyledLabel) label).setPreferredWidth(oldPreferredWidth); size = getPreferredSize((StyledLabel) label); ((StyledLabel) label).setPreferredWidth(0); ((StyledLabel) label).setRows(0); Dimension minSize = getPreferredSize((StyledLabel) label); ((StyledLabel) label).setPreferredWidth(oldPreferredWidth); ((StyledLabel) label).setRows(oldRows);