From 7f0af8f392dbc4c75e1d7cb4f4cce999ebd4171d Mon Sep 17 00:00:00 2001 From: Steven Tracey Date: Wed, 15 Feb 2023 14:46:16 -0500 Subject: [PATCH] Fixed bug --- src/main/java/tech/nevets/vcardgen/Main.java | 49 +++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/src/main/java/tech/nevets/vcardgen/Main.java b/src/main/java/tech/nevets/vcardgen/Main.java index a85f75d..1be4c00 100644 --- a/src/main/java/tech/nevets/vcardgen/Main.java +++ b/src/main/java/tech/nevets/vcardgen/Main.java @@ -103,32 +103,37 @@ public class Main { g.setFont(ARIAL44I); g.drawString(location, 59, 447 - doubleNumOffset - longAddrOffset); + if (fm.stringWidth(address) >= 694) { - StringBuilder addrLineOne = new StringBuilder(); - StringBuilder addrLineTwo = new StringBuilder(); + StringBuilder addrLineOne = new StringBuilder(); + StringBuilder addrLineTwo = new StringBuilder(); - String[] splitAddr = address.split(","); - int i = 0; - for (int width = 0; width < 694; i++) { - int splitSize = fm.stringWidth(splitAddr[i]); - if ((width + splitSize) < 694) { - width += splitSize; - addrLineOne.append(splitAddr[i]); - addrLineOne.append(","); - } else { - addrLineOne.deleteCharAt(addrLineOne.length() - 1); - break; + String[] splitAddr = address.split(","); + int i = 0; + for (int width = 0; width < 694; i++) { + int splitSize = fm.stringWidth(splitAddr[i]); + if ((width + splitSize) < 694) { + width += splitSize; + addrLineOne.append(splitAddr[i]); + addrLineOne.append(","); + } else { + addrLineOne.deleteCharAt(addrLineOne.length() - 1); + break; + } } - } - for (; i < splitAddr.length; i++) { - addrLineTwo.append(splitAddr[i]); - addrLineTwo.append(","); - } - addrLineTwo.deleteCharAt(addrLineTwo.length() - 1); - g.setFont(ARIAL38I); - g.drawString(addrLineOne.toString().trim(), 59, 491 - doubleNumOffset - longAddrOffset); - g.drawString(addrLineTwo.toString().trim(), 59, 491 - doubleNumOffset); + for (; i < splitAddr.length; i++) { + addrLineTwo.append(splitAddr[i]); + addrLineTwo.append(","); + } + addrLineTwo.deleteCharAt(addrLineTwo.length() - 1); + + g.setFont(ARIAL38I); + g.drawString(addrLineOne.toString().trim(), 59, 491 - doubleNumOffset - longAddrOffset); + g.drawString(addrLineTwo.toString().trim(), 59, 491 - doubleNumOffset); + } else { + g.drawString(address, 59, 491 - doubleNumOffset); + } String number = ""; if (hasExtension && !hasCell) {