/** * Convert to HTML and Calculate Size * * @param message message */ private void setInfoMessage(final String message) { final StringBuilder sb = new StringBuilder(message.length() + 20); sb.append("<b>"); String html = Util.maskHTML(message); char[] chars = html.toCharArray(); boolean first = true; int paras = 0; for (int i = 0; i < chars.length; i++) { char c = chars[i]; if (c == '\n') { if (first) { sb.append("</b>"); first = false; } if (paras > 1) sb.append("<br>"); else sb.append("<p>"); paras++; } else sb.append(c); } info.setText(sb.toString()); Dimension size = info.getPreferredSize(); size.width = 450; size.height = (Math.max(paras, message.length() / 60) + 1) * 30; size.height = Math.min(size.height, 600); info.setPreferredSize(size); info.setRequestFocusEnabled(false); info.setReadWrite(false); info.setOpaque(false); info.setBorder(null); // info.setCaretPosition(0); } // calculateSize