diff --git a/megamek/src/megamek/client/ui/WrapLayout.java b/megamek/src/megamek/client/ui/WrapLayout.java index 10515ff2db..77f2801ad6 100644 --- a/megamek/src/megamek/client/ui/WrapLayout.java +++ b/megamek/src/megamek/client/ui/WrapLayout.java @@ -209,23 +209,28 @@ public static String wordWrap(String input) { * @return The string with line breaks inserted. */ public static String wordWrap(String input, int maximumCharacters) { - StringTokenizer token = new StringTokenizer(input, " "); + String[] lines = input.split("
"); + StringBuilder output = new StringBuilder(input.length()); output.append(""); - int lineLen = 0; + // Process each line + for (String line : lines) { + StringTokenizer token = new StringTokenizer(line, " "); - while (token.hasMoreTokens()) { - String word = token.nextToken(); + int lineLen = 0; + while (token.hasMoreTokens()) { + String word = token.nextToken(); - if (lineLen + word.length() > maximumCharacters) { - output.append("
"); - lineLen = 0; + if (lineLen + word.length() > maximumCharacters) { + output.append("
"); + lineLen = 0; + } + output.append(word).append(' '); + lineLen += word.length(); } - output.append(word).append(' '); - lineLen += word.length(); + output.append("
"); } - output.append(""); return output.toString(); }