diff --git a/src/main/java/ui/tmlad/TMLADActionState.java b/src/main/java/ui/tmlad/TMLADActionState.java
index 596730f17b17d7bd5460d91b2a318144ecd7d52d..ec856478e2cbb0d89c82fc9b5c2a7bd025fb3e10 100755
--- a/src/main/java/ui/tmlad/TMLADActionState.java
+++ b/src/main/java/ui/tmlad/TMLADActionState.java
@@ -132,7 +132,7 @@ public class TMLADActionState extends TADActionState/* Issue #69 TGCOneLineText
         g.drawLine(x+(width/2), y, x+(width/2), y - lineLength);
         g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
         
-        g.drawString(value, x + (width - w) / 2 , y + textY);
+        drawSingleString(g,value, x + (width - w) / 2 , y + textY);
     }
     
 //    public TGComponent isOnMe(int _x, int _y) {
diff --git a/src/main/java/ui/tmlad/TMLADDecrypt.java b/src/main/java/ui/tmlad/TMLADDecrypt.java
index 6a46df82e65576ec5e1709413f572a000c1858a2..fef8c18a8bd8ee0d0ef9fa7ec9a73158bffc3452 100755
--- a/src/main/java/ui/tmlad/TMLADDecrypt.java
+++ b/src/main/java/ui/tmlad/TMLADDecrypt.java
@@ -145,7 +145,7 @@ public class TMLADDecrypt extends TADComponentWithoutSubcomponents/* Issue #69 T
 
         g.drawImage( scale( IconManager.imgic7000.getImage() ), x - scale( 22 ), y + height / 2, null );
         
-        g.drawString("sec:" + securityContext, x + 3 * width / 2, y + height / 2);
+        drawSingleString(g,"sec:" + securityContext, x + 3 * width / 2, y + height / 2);
     }
 
     @Override
diff --git a/src/main/java/ui/tmlad/TMLADEncrypt.java b/src/main/java/ui/tmlad/TMLADEncrypt.java
index 42233caf974087cbd4b18ef07d59763b73c8669b..d48589f61c6034f6506325a416768d81a5a3c273 100755
--- a/src/main/java/ui/tmlad/TMLADEncrypt.java
+++ b/src/main/java/ui/tmlad/TMLADEncrypt.java
@@ -190,18 +190,18 @@ public class TMLADEncrypt extends TADComponentWithoutSubcomponents/* Issue #69 T
         }
         
         //Draw security pattern
-        g.drawString("sec:" + securityContext, x + 3 * width / 2, y + height / 2);
+        drawSingleString(g,"sec:" + securityContext, x + 3 * width / 2, y + height / 2);
         
         final int scaledSecIconHeight = scale( SEC_ICON_HIGHT );
         
         //Draw nonce if it exists
         if (!nonce.isEmpty()) {
-            g.drawString("nonce:" + nonce, x + 3 * width / 2, y + height / 2 + scaledSecIconHeight );
+            drawSingleString(g,"nonce:" + nonce, x + 3 * width / 2, y + height / 2 + scaledSecIconHeight );
         }
         
         //Draw key if it exists
         if (!key.isEmpty()) {
-            g.drawString("key:" + key, x + 3 * width / 2, y + height / 2 + 2 * scaledSecIconHeight );
+            drawSingleString(g,"key:" + key, x + 3 * width / 2, y + height / 2 + 2 * scaledSecIconHeight );
         }
         
         g.drawImage( scale( IconManager.imgic7000.getImage() ), x - scale( 22 ), y + height / 2, null );
diff --git a/src/main/java/ui/tmlad/TMLADForEverLoop.java b/src/main/java/ui/tmlad/TMLADForEverLoop.java
index feaf4dfaf1410b209d558add85898ed8c61b8082..5dfc173cab88e7d66bf02049990ddb167ce54062 100755
--- a/src/main/java/ui/tmlad/TMLADForEverLoop.java
+++ b/src/main/java/ui/tmlad/TMLADForEverLoop.java
@@ -130,7 +130,7 @@ public class TMLADForEverLoop extends TADForLoop /* Issue #69 TGCWithoutInternal
         //g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
         //g.drawLine(x+width, y+height/2, x+width +lineLength, y+height/2);
         
-        g.drawString(value, x + (width - w) / 2 , y + textY);
+        drawSingleString(g,value, x + (width - w) / 2 , y + textY);
     }
 	
 	/*public boolean editOndoubleClick(JFrame frame) {
diff --git a/src/main/java/ui/tmlad/TMLADForLoop.java b/src/main/java/ui/tmlad/TMLADForLoop.java
index f203e4ac6c7deda78cb640aeb7c04608afbf4a35..c489092b8f6000bd9fc10bf8e1e71eefae3ff72b 100755
--- a/src/main/java/ui/tmlad/TMLADForLoop.java
+++ b/src/main/java/ui/tmlad/TMLADForLoop.java
@@ -151,14 +151,14 @@ public class TMLADForLoop extends TADForLoop /* Issue #69 TGCWithoutInternalComp
         g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
         //g.drawLine(x+width, y+height/2, x+width +lineLength, y+height/2);
 
-        g.drawString(value, x + (width - w) / 2 , y + textY);
+        drawSingleString(g,value, x + (width - w) / 2 , y + textY);
 
 		// Info on loops
-		g.drawString(IN_LOOP, x+width+2, y+height/2);
+		drawSingleString(g,IN_LOOP, x+width+2, y+height/2);
 		//int wTmp =  g.getFontMetrics().stringWidth(EXIT_LOOP);
 		
 		// Issue #31
-		g.drawString(EXIT_LOOP, (int) (x+width/2+ 2 * oldScaleFactor), (int) (y+height+ scale( 10 ) ) );
+		drawSingleString(g,EXIT_LOOP, (int) (x+width/2+ 2 * oldScaleFactor), (int) (y+height+ scale( 10 ) ) );
     }
 
     @Override
diff --git a/src/main/java/ui/tmlad/TMLADForStaticLoop.java b/src/main/java/ui/tmlad/TMLADForStaticLoop.java
index 049a75720b892adddfcc3c18ae62a9c22cb62b93..c80b41d83d15c3761f06019c7036d3301bfb1ae0 100755
--- a/src/main/java/ui/tmlad/TMLADForStaticLoop.java
+++ b/src/main/java/ui/tmlad/TMLADForStaticLoop.java
@@ -137,11 +137,11 @@ public class TMLADForStaticLoop extends TADForLoop /* Issue #69 TGCWithoutIntern
         g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
         //g.drawLine(x+width, y+height/2, x+width +lineLength, y+height/2);
 
-        g.drawString(valueLoop, x + (width - w) / 2 , y + textY);
+        drawSingleString(g,valueLoop, x + (width - w) / 2 , y + textY);
 
         //info on loops
-		g.drawString(IN_LOOP, x+width+2, y+height/2);
-		g.drawString(EXIT_LOOP, x+width/2+2, y+height+ scale( 10 ) );
+		drawSingleString(g,IN_LOOP, x+width+2, y+height/2);
+		drawSingleString(g,EXIT_LOOP, x+width/2+2, y+height+ scale( 10 ) );
     }
 
     @Override
diff --git a/src/main/java/ui/tmlad/TMLADNotifiedEvent.java b/src/main/java/ui/tmlad/TMLADNotifiedEvent.java
index b99efbc3024509cc545d9ed5143813a64cfeae0e..0250d106b9ed999bd40ab387bcf1242e37fa7274 100755
--- a/src/main/java/ui/tmlad/TMLADNotifiedEvent.java
+++ b/src/main/java/ui/tmlad/TMLADNotifiedEvent.java
@@ -148,8 +148,8 @@ public class TMLADNotifiedEvent extends TADComponentWithoutSubcomponents/* Issue
         g.drawLine(x, y, x+linebreak, y+height/2);
         g.drawLine(x, y+height, x+linebreak, y+height/2);
         
-        g.drawString("evt", x+(width-w) / 2, y);
-        g.drawString(value, x + linebreak + scale( 2 ), y + textY);
+        drawSingleString(g,"evt", x+(width-w) / 2, y);
+        drawSingleString(g,value, x + linebreak + scale( 2 ), y + textY);
     }
     
     @Override
diff --git a/src/main/java/ui/tmlad/TMLADRandom.java b/src/main/java/ui/tmlad/TMLADRandom.java
index 2fdee4c3ad79504ef05c55ff4821911bc17a6033..f022cabfd15969888dedc57d91cab5daa93926a4 100755
--- a/src/main/java/ui/tmlad/TMLADRandom.java
+++ b/src/main/java/ui/tmlad/TMLADRandom.java
@@ -135,7 +135,7 @@ public class TMLADRandom extends TADComponentWithoutSubcomponents/* Issue #69 TG
         g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
         //g.drawLine(x+width, y+height/2, x+width +lineLength, y+height/2);
         
-        g.drawString(valueRandom, x + (width - w) / 2 , y + textY);
+        drawSingleString(g,valueRandom, x + (width - w) / 2 , y + textY);
     }
 	
 	@Override
diff --git a/src/main/java/ui/tmlad/TMLADReadChannel.java b/src/main/java/ui/tmlad/TMLADReadChannel.java
index 589d8effb2f84eb18ee90744b8ef5d872cdb732e..7ecda12ce803777efbe26913038785012c754b79 100755
--- a/src/main/java/ui/tmlad/TMLADReadChannel.java
+++ b/src/main/java/ui/tmlad/TMLADReadChannel.java
@@ -197,18 +197,18 @@ public class TMLADReadChannel extends TADComponentWithoutSubcomponents/* Issue #
         g.drawLine(x, y, x + linebreak, y + height / 2);
         g.drawLine(x, y + height, x + linebreak, y + height / 2);
         if (isAttacker) {
-            g.drawString("attack", x + (width - w) / 2, y + textY); // Issue #31
+            drawSingleString(g,"attack", x + (width - w) / 2, y + textY); // Issue #31
         } else {
-            g.drawString("chl", x + (width - w) / 2, y + textY); // Issue #31
+            drawSingleString(g,"chl", x + (width - w) / 2, y + textY); // Issue #31
         }
-        g.drawString(value, x + linebreak + scale( textX0 ), y + scale( textY1 ) ); // Issue #31
+        drawSingleString(g,value, x + linebreak + scale( textX0 ), y + scale( textY1 ) ); // Issue #31
 
         if (!securityContext.equals("")) {
         	c = g.getColor();
 	        if (!isEncForm){
 	        	g.setColor(Color.RED);
 	        }
-            g.drawString("sec:" + securityContext, x + 3 * width / 4, y + height + textY1 - decSec);
+            drawSingleString(g,"sec:" + securityContext, x + 3 * width / 4, y + height + textY1 - decSec);
             g.setColor(c);
         }
         drawReachabilityInformation(g);
@@ -232,10 +232,10 @@ public class TMLADReadChannel extends TADComponentWithoutSubcomponents/* Issue #
             latencyY = scale( latencyY );
             textHeight = scale( textHeight );
             
-            g.drawString(s, x - latencyX - w + 1, y - latencyY * index - 2); 
+            drawSingleString(g,s, x - latencyX - w + 1, y - latencyY * index - 2); 
             g.drawRect(x - latencyX - w, y - latencyY * index - textHeight, w + 4, textHeight);
             g.drawLine(x, y, x - latencyX, y - latencyY * index);
-            g.drawString(latencyVals.get(s), x - latencyX / 2, y - latencyY * index / 2);
+            drawSingleString(g,latencyVals.get(s), x - latencyX / 2, y - latencyY * index / 2);
             index++;
         }
     }
diff --git a/src/main/java/ui/tmlad/TMLADReadRequestArg.java b/src/main/java/ui/tmlad/TMLADReadRequestArg.java
index ca0e236ad0030896ba37c8a7298951b924af5418..0559dce75517e9562fb6a4e1fd1e5de2a8015fdb 100755
--- a/src/main/java/ui/tmlad/TMLADReadRequestArg.java
+++ b/src/main/java/ui/tmlad/TMLADReadRequestArg.java
@@ -190,7 +190,7 @@ public class TMLADReadRequestArg extends TADComponentWithoutSubcomponents/* Issu
 		g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
 		//g.drawLine(x+width, y+height/2, x+width +lineLength, y+height/2);
 		
-		g.drawString(value, x + (width - w) / 2 , y + textY);
+		drawSingleString(g,value, x + (width - w) / 2 , y + textY);
 	}
 	
 	@Override
diff --git a/src/main/java/ui/tmlad/TMLADSelectEvt.java b/src/main/java/ui/tmlad/TMLADSelectEvt.java
index 08a040caac5523dce0dc28ca0bc5dc8ad22efd79..8f0ae61bdc78faa7dfa0b6051d00719a85bc6951 100755
--- a/src/main/java/ui/tmlad/TMLADSelectEvt.java
+++ b/src/main/java/ui/tmlad/TMLADSelectEvt.java
@@ -130,7 +130,7 @@ public class TMLADSelectEvt extends TADComponentWithoutSubcomponents/* Issue #69
         g.drawLine(x + width, y + height/2, x+ width + scaledLineOutLength, y + height/2); // Issue #31
         g.drawLine(x+(width/2), y + height, x+(width/2), y + height + scaledLineOutLength); // Issue #31
         
-        g.drawString("evt", x + scale( 5 ), y + height/2 + scale( 3 ) ); // Issue #31
+        drawSingleString(g,"evt", x + scale( 5 ), y + height/2 + scale( 3 ) ); // Issue #31
     }
     
     @Override
diff --git a/src/main/java/ui/tmlad/TMLADSendEvent.java b/src/main/java/ui/tmlad/TMLADSendEvent.java
index c0518d21354295ae7778c998ba89e1318b01cf30..03b0a2a3c022cb275c685193a2ffc64fa59a1b0b 100755
--- a/src/main/java/ui/tmlad/TMLADSendEvent.java
+++ b/src/main/java/ui/tmlad/TMLADSendEvent.java
@@ -186,8 +186,8 @@ public class TMLADSendEvent extends TADComponentWithoutSubcomponents implements
         g.drawLine(x + width - linebreak, y + height, x + width, y + height / 2);
 
 
-        g.drawString("evt", x + (width - w) / 2, y);
-        g.drawString(value, x + (width - w) / 2, y + textY);
+        drawSingleString(g,"evt", x + (width - w) / 2, y);
+        drawSingleString(g,value, x + (width - w) / 2, y + textY);
 
         drawReachabilityInformation(g);
     }
diff --git a/src/main/java/ui/tmlad/TMLADSendRequest.java b/src/main/java/ui/tmlad/TMLADSendRequest.java
index 5a3bbbbc0c95cd0e3726b8d314f61e56549339e4..f3adac6e147ef62a9f9f55434eedfeda9e032170 100755
--- a/src/main/java/ui/tmlad/TMLADSendRequest.java
+++ b/src/main/java/ui/tmlad/TMLADSendRequest.java
@@ -170,8 +170,8 @@ public class TMLADSendRequest extends TADComponentWithoutSubcomponents/* Issue #
         g.drawLine(x+width-linebreak, y, x+width, y+height/2);
         g.drawLine(x+width-linebreak, y+height, x+width, y+height/2);
 
-        g.drawString("req", x+(width-w) / 2, y);
-        g.drawString(value, x + (width - w) / 2 , y + textY);
+        drawSingleString(g,"req", x+(width-w) / 2, y);
+        drawSingleString(g,value, x + (width - w) / 2 , y + textY);
 
         drawReachabilityInformation(g);
     }
diff --git a/src/main/java/ui/tmlad/TMLADWaitEvent.java b/src/main/java/ui/tmlad/TMLADWaitEvent.java
index c8da373214b70afe8938d9a267a779670f286376..f4fe2504e16c26a08e382701f83698c4d711998a 100755
--- a/src/main/java/ui/tmlad/TMLADWaitEvent.java
+++ b/src/main/java/ui/tmlad/TMLADWaitEvent.java
@@ -168,8 +168,8 @@ public class TMLADWaitEvent extends TADComponentWithoutSubcomponents/* Issue #69
         g.drawLine(x, y, x+linebreak, y+height/2);
         g.drawLine(x, y+height, x+linebreak, y+height/2);
 
-        g.drawString("evt", x+(width-w) / 2, y);
-        g.drawString(value, x + linebreak + scale( 2 ), y + textY);
+        drawSingleString(g,"evt", x+(width-w) / 2, y);
+        drawSingleString(g,value, x + linebreak + scale( 2 ), y + textY);
 
         drawReachabilityInformation(g);
     }
diff --git a/src/main/java/ui/tmlad/TMLADWriteChannel.java b/src/main/java/ui/tmlad/TMLADWriteChannel.java
index 4603cf2aff9429f5576b7e5e1518685a491f19d8..7f5e2eb8a7a32bc7f69679bbb24dbdd048ba9168 100755
--- a/src/main/java/ui/tmlad/TMLADWriteChannel.java
+++ b/src/main/java/ui/tmlad/TMLADWriteChannel.java
@@ -191,17 +191,17 @@ public class TMLADWriteChannel extends TADComponentWithoutSubcomponents/* Issue
         g.drawLine(x + width - linebreak, y, x + width, y + height / 2);
         g.drawLine(x + width - linebreak, y + height, x + width, y + height / 2);
         if (isAttacker) {
-            g.drawString("attack", x + (width - w) / 2, y);
+            drawSingleString(g,"attack", x + (width - w) / 2, y);
         } else {
-            g.drawString("chl", x + (width - w) / 2, y);
+            drawSingleString(g,"chl", x + (width - w) / 2, y);
         }
-        g.drawString(value, x + (width - w) / 2, y + textY);
+        drawSingleString(g,value, x + (width - w) / 2, y + textY);
         if (!securityContext.equals("")) {
 	        c = g.getColor();
 	        if (!isEncForm){
 	        	g.setColor(Color.RED);
 	        }
-            g.drawString("sec:" + securityContext, x + 3 * width / 4, y + height + textY - scale( 4 ) );
+            drawSingleString(g,"sec:" + securityContext, x + 3 * width / 4, y + height + textY - scale( 4 ) );
             g.setColor(c);
         }
 
@@ -221,10 +221,10 @@ public class TMLADWriteChannel extends TADComponentWithoutSubcomponents/* Issue
         int index = 1;
         for (String s : latencyVals.keySet()) {
             int w = g.getFontMetrics().stringWidth(s);
-            g.drawString(s, x - latencyX - w + 1, y - latencyY * index - 2);
+            drawSingleString(g,s, x - latencyX - w + 1, y - latencyY * index - 2);
             g.drawRect(x - latencyX - w, y - latencyY * index - textHeight, w + 4, textHeight);
             g.drawLine(x, y, x - latencyX, y - latencyY * index);
-            g.drawString(latencyVals.get(s), x - latencyX / 2, y - latencyY * index / 2);
+            drawSingleString(g,latencyVals.get(s), x - latencyX / 2, y - latencyY * index / 2);
             index++;
         }
     }
diff --git a/src/main/java/ui/tmlcd/TMLAttributeBox.java b/src/main/java/ui/tmlcd/TMLAttributeBox.java
index 0c77c261678d3db69b45577e09b9c66cd772ee84..06f6f0fb33fc7585bfb0f80cb8942792a8b2b0f0 100755
--- a/src/main/java/ui/tmlcd/TMLAttributeBox.java
+++ b/src/main/java/ui/tmlcd/TMLAttributeBox.java
@@ -163,10 +163,10 @@ public class TMLAttributeBox extends TGCWithoutInternalComponent {
             TAttribute a;
             for(int i=0; i<myAttributes.size(); i++) {
                 a = myAttributes.get (i);
-                g.drawString(a.toString(), x + textX, y + textY + i* h);
+                drawSingleString(g,a.toString(), x + textX, y + textY + i* h);
             }
         } else if (myAttributes.size() >0) {
-            g.drawString("...", x + textX, y + textY);
+            drawSingleString(g,"...", x + textX, y + textY);
         }
     }
     
diff --git a/src/main/java/ui/tmlcd/TMLChannelOperator.java b/src/main/java/ui/tmlcd/TMLChannelOperator.java
index 671d105828d60b1437a4394542b4b2d5caf1c134..260782fe3435543c3ca722730b4091c6c786622a 100755
--- a/src/main/java/ui/tmlcd/TMLChannelOperator.java
+++ b/src/main/java/ui/tmlcd/TMLChannelOperator.java
@@ -81,7 +81,7 @@ public class TMLChannelOperator extends TMLCompositionOperator {
             //g.drawImage(IconManager.img8, x + width - 20, y + 3, ColorManager.COMPOSITION_OPERATOR, null);
             ColorManager.setColor(g, getState(), 0);
             g.setFont((g.getFont()).deriveFont(Font.BOLD));
-            g.drawString(value, x + textX, y + textY);
+            drawSingleString(g,value, x + textX, y + textY);
             g.setFont((g.getFont()).deriveFont(Font.PLAIN));
         }
     }
diff --git a/src/main/java/ui/tmlcd/TMLChannelProperties.java b/src/main/java/ui/tmlcd/TMLChannelProperties.java
index 798d6c28b717d7a8b3bd9f06f8dd823805f2cb41..f0cf78e933341f1f7730e2c86720bf86b6c029fc 100755
--- a/src/main/java/ui/tmlcd/TMLChannelProperties.java
+++ b/src/main/java/ui/tmlcd/TMLChannelProperties.java
@@ -100,7 +100,7 @@ public class TMLChannelProperties extends TGCWithoutInternalComponent {
             ColorManager.setColor(g, getState(), 0);
             //
             h = g.getFontMetrics().getHeight();
-            g.drawString(value, x, y + h);
+            drawSingleString(g,value, x, y + h);
             
             if (!tdp.isScaled()) {
                 width = g.getFontMetrics().stringWidth(value);
diff --git a/src/main/java/ui/tmlcd/TMLEventOperator.java b/src/main/java/ui/tmlcd/TMLEventOperator.java
index f47c0f9d25b26f44f1e83a7b97cdeeb4d57bb090..92e6463eb2d753843dc1dcbc697595897694f239 100755
--- a/src/main/java/ui/tmlcd/TMLEventOperator.java
+++ b/src/main/java/ui/tmlcd/TMLEventOperator.java
@@ -82,7 +82,7 @@ public class TMLEventOperator extends TMLCompositionOperator {
             //g.drawImage(IconManager.img8, x + width - 20, y + 3, ColorManager.COMPOSITION_OPERATOR, null);
             ColorManager.setColor(g, getState(), 0);
             g.setFont((g.getFont()).deriveFont(Font.BOLD));
-            g.drawString(value, x + textX, y + textY);
+            drawSingleString(g,value, x + textX, y + textY);
             g.setFont((g.getFont()).deriveFont(Font.PLAIN));
         }
     }
diff --git a/src/main/java/ui/tmlcd/TMLEventProperties.java b/src/main/java/ui/tmlcd/TMLEventProperties.java
index ceda021d7dac1a75c8f28ef04337d3598ed96b2e..dee00aad3b5bc58066ce142cc25f849de5afdfdd 100755
--- a/src/main/java/ui/tmlcd/TMLEventProperties.java
+++ b/src/main/java/ui/tmlcd/TMLEventProperties.java
@@ -96,7 +96,7 @@ public class TMLEventProperties extends TGCWithoutInternalComponent {
             ColorManager.setColor(g, getState(), 0);
             //
             h = g.getFontMetrics().getHeight();
-            g.drawString(valueOCL, x, y + h);
+            drawSingleString(g,valueOCL, x, y + h);
             
             if (!tdp.isScaled()) {
                 width = g.getFontMetrics().stringWidth(valueOCL);
diff --git a/src/main/java/ui/tmlcd/TMLOperationBox.java b/src/main/java/ui/tmlcd/TMLOperationBox.java
index 130e870804f697400dea7a3c8d49457a090607a5..0f804a3792bffe597619fb84659ee1f08072d52b 100755
--- a/src/main/java/ui/tmlcd/TMLOperationBox.java
+++ b/src/main/java/ui/tmlcd/TMLOperationBox.java
@@ -90,7 +90,7 @@ public class TMLOperationBox extends TGCWithoutInternalComponent {
         g.fillRect(x+1, y+1, width-1, height-1);
         ColorManager.setColor(g, getState(), 0);
         if (value.length() > 0) {
-            g.drawString(value, x + textX, y + textY);
+            drawSingleString(g,value, x + textX, y + textY);
         }
     }
     
diff --git a/src/main/java/ui/tmlcd/TMLRequestOperator.java b/src/main/java/ui/tmlcd/TMLRequestOperator.java
index 851cb6de4ce50f3ea29139aadbd35067e0ed4e28..07c6305de9993151b36bded18f0f887042d76c65 100755
--- a/src/main/java/ui/tmlcd/TMLRequestOperator.java
+++ b/src/main/java/ui/tmlcd/TMLRequestOperator.java
@@ -81,7 +81,7 @@ public class TMLRequestOperator extends TMLCompositionOperator {
             //g.drawImage(IconManager.img8, x + width - 20, y + 3, ColorManager.COMPOSITION_OPERATOR, null);
             ColorManager.setColor(g, getState(), 0);
             g.setFont((g.getFont()).deriveFont(Font.BOLD));
-            g.drawString(value, x + textX, y + textY);
+            drawSingleString(g,value, x + textX, y + textY);
             g.setFont((g.getFont()).deriveFont(Font.PLAIN));
         }
     }
diff --git a/src/main/java/ui/tmlcd/TMLRequestProperties.java b/src/main/java/ui/tmlcd/TMLRequestProperties.java
index 2dcff2167df8b09a0485ba2358da15a04b938911..f026dbb026a8be3c9868b851bc85571b3cc0cab1 100755
--- a/src/main/java/ui/tmlcd/TMLRequestProperties.java
+++ b/src/main/java/ui/tmlcd/TMLRequestProperties.java
@@ -94,7 +94,7 @@ public class TMLRequestProperties extends TGCWithoutInternalComponent {
             ColorManager.setColor(g, getState(), 0);
             //
             h = g.getFontMetrics().getHeight();
-            g.drawString(valueOCL, x, y + h);
+            drawSingleString(g,valueOCL, x, y + h);
             
             if (!tdp.isScaled()) {
                 width = g.getFontMetrics().stringWidth(valueOCL);
diff --git a/src/main/java/ui/tmlcd/TMLTaskOperator.java b/src/main/java/ui/tmlcd/TMLTaskOperator.java
index 110a6ad715db2c56fddb57b79ad3dd8c5c12e0ca..7cd165bbf1a6eda678c077b7da5f767c0ad240a5 100755
--- a/src/main/java/ui/tmlcd/TMLTaskOperator.java
+++ b/src/main/java/ui/tmlcd/TMLTaskOperator.java
@@ -199,13 +199,13 @@ public class TMLTaskOperator extends TGCWithInternalComponent implements TMLTask
 		//
         ColorManager.setColor(g, getState(), 0);
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(value, x + textX, y + textY);
+        drawSingleString(g,value, x + textX, y + textY);
         g.setFont(f);
         
         if (exit) {
             g.setFont(f.deriveFont((float)exitFontSize));
             int w  =  g.getFontMetrics().stringWidth(EXIT_STRING);
-            g.drawString(EXIT_STRING, x + width - w - 5, y + textY + exitFontSize);
+            drawSingleString(g,EXIT_STRING, x + width - w - 5, y + textY + exitFontSize);
             g.setFont(f);
         }
     }
diff --git a/src/main/java/ui/tmlcp/TMLCPPanel.java b/src/main/java/ui/tmlcp/TMLCPPanel.java
index c7fe4fcc02b586413fcf057c74a1b24535a972e6..6c4f3b706421ffc897d4b7ef031a9131530c0cf4 100755
--- a/src/main/java/ui/tmlcp/TMLCPPanel.java
+++ b/src/main/java/ui/tmlcp/TMLCPPanel.java
@@ -226,7 +226,8 @@ public class TMLCPPanel extends TDiagramPanel {
        //mgui.changeMade(mgui.getSequenceDiagramPanel(name), TDiagramPanel.NEW_COMPONENT);
        return b;
    }
-   
+    
+   @Override
    public void enhance() {
         //
         Vector<TGComponent> v = new Vector<>();
diff --git a/src/main/java/ui/tmldd/TMLArchiArtifact.java b/src/main/java/ui/tmldd/TMLArchiArtifact.java
index e0e00901ac22d01eeb15e8ce261a90ca498498cf..561bb306e6c06a38534117952f9755b74b29d492 100755
--- a/src/main/java/ui/tmldd/TMLArchiArtifact.java
+++ b/src/main/java/ui/tmldd/TMLArchiArtifact.java
@@ -170,7 +170,7 @@ public class TMLArchiArtifact extends TGCWithoutInternalComponent implements Swa
         g.drawLine(x+width-space, y+ marginFileY/*space+fileY*/, x+width-marginFileX/*space-fileX*/, y+ marginFileY/*space+fileY*/);
         g.drawLine(x+width- marginCran /*space-cran*/, y+space, x+width- marginCran/*space-cran*/, y+ marginCran/*space+cran*/);
         g.drawLine(x+width- marginCran/*space-cran*/, y+ marginCran/*space+cran*/, x + width-space, y+marginCran /*space+cran*/);
-        g.drawString(value, x + textX , y + textY);
+        drawSingleString(g,value, x + textX , y + textY);
     }
 
     public void setValue(String val, Graphics g) {
diff --git a/src/main/java/ui/tmldd/TMLArchiBUSNode.java b/src/main/java/ui/tmldd/TMLArchiBUSNode.java
index e6e8fdc604348f283550f0b9aaed32b8da20ed66..7995aa0c430c52d273f2d6a66f7cd9c19e5e9ef4 100755
--- a/src/main/java/ui/tmldd/TMLArchiBUSNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiBUSNode.java
@@ -169,10 +169,10 @@ public class TMLArchiBUSNode extends TMLArchiCommunicationNode implements Swallo
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY); // Issue #31
         g.setFont(f);
         w  = g.getFontMetrics().stringWidth(name);
-        g.drawString(name, x + (width - w)/2, y + 2 * textY ); // Issue #31
+        drawSingleString(g,name, x + (width - w)/2, y + 2 * textY ); // Issue #31
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiBridgeNode.java b/src/main/java/ui/tmldd/TMLArchiBridgeNode.java
index 7bd2fcda6c9844ec7fb0342584955b94f996fd5b..dd89d9d156e9b363d2e549cdd541fc506af73e67 100755
--- a/src/main/java/ui/tmldd/TMLArchiBridgeNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiBridgeNode.java
@@ -142,9 +142,9 @@ public class TMLArchiBridgeNode extends TMLArchiCommunicationNode implements Swa
         // Strings
         String ster = "<<" + stereotype + ">>";
         int w  = g.getFontMetrics().stringWidth(ster);
-        g.drawString(ster, x + (width - w)/2, y + textY ); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY ); // Issue #31
         w  = g.getFontMetrics().stringWidth(name);
-        g.drawString(name, x + (width - w)/2, y + 2 * textY ); // Issue #31
+        drawSingleString(g,name, x + (width - w)/2, y + 2 * textY ); // Issue #31
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiCPNode.java b/src/main/java/ui/tmldd/TMLArchiCPNode.java
index 8a919b6dcb57ea060b9767839b2571b983f48601..412872fb455bae7087da4cd77f682f58e29eb59f 100755
--- a/src/main/java/ui/tmldd/TMLArchiCPNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiCPNode.java
@@ -145,7 +145,7 @@ public class TMLArchiCPNode extends TMLArchiCommunicationNode implements Swallow
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY); // Issue #31
         g.setFont(f);
 
         // Complete name is derived
@@ -154,7 +154,7 @@ public class TMLArchiCPNode extends TMLArchiCommunicationNode implements Swallow
 //        String val = name + "::" + reference;
 //        completeName = val;
         w  = g.getFontMetrics().stringWidth(val);
-        g.drawString(val, x + (width - w)/2, y + 2 * textY ); // Issue #31
+        drawSingleString(g,val, x + (width - w)/2, y + 2 * textY ); // Issue #31
 
         // Icon
         // Issue #31
@@ -508,6 +508,7 @@ public class TMLArchiCPNode extends TMLArchiCommunicationNode implements Swallow
     }
 
     // Display the mapping of instances onto platform units
+    @Override
     public String getAttributes()   {
         String attr = "";
 
diff --git a/src/main/java/ui/tmldd/TMLArchiCPUNode.java b/src/main/java/ui/tmldd/TMLArchiCPUNode.java
index d96ffaabba24486102561e8830144917b1056e18..2f2b34e77b4be0641a6e936db17ef7a04a9822bd 100755
--- a/src/main/java/ui/tmldd/TMLArchiCPUNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiCPUNode.java
@@ -159,10 +159,10 @@ public class TMLArchiCPUNode extends TMLArchiNode implements SwallowTGComponent,
         int w = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w) / 2, y + textY);// Issue #31
+        drawSingleString(g,ster, x + (width - w) / 2, y + textY);// Issue #31
         g.setFont(f);
         w = g.getFontMetrics().stringWidth(name);
-        g.drawString(name, x + (width - w) / 2, y + 2 * textY );// Issue #31
+        drawSingleString(g,name, x + (width - w) / 2, y + 2 * textY );// Issue #31
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiConnectingPoint.java b/src/main/java/ui/tmldd/TMLArchiConnectingPoint.java
index d7db38ab5140a4dcd5045187700304cb0756173d..996d29edcb3e43cfc74f2ac17a396ea83bafdd6c 100755
--- a/src/main/java/ui/tmldd/TMLArchiConnectingPoint.java
+++ b/src/main/java/ui/tmldd/TMLArchiConnectingPoint.java
@@ -58,7 +58,7 @@ public class TMLArchiConnectingPoint extends  TGConnectingPointWidthHeight{
     public TMLArchiConnectingPoint(CDElement _container, int _x, int _y, boolean _in, boolean _out, double _w, double _h) {
         super(_container, _x, _y, _in, _out, _w, _h);
     }
-    
+    @Override
     public boolean isCompatibleWith(int type) {
         return type == TGComponentManager.CONNECTOR_NODE_TMLARCHI;
     }
diff --git a/src/main/java/ui/tmldd/TMLArchiConnectorNode.java b/src/main/java/ui/tmldd/TMLArchiConnectorNode.java
index ad1dcd0663ce7b4ca871001fdbde4ec119495f7f..7991fcec511fb2a30ca854c6bb69d949b1cdc28c 100755
--- a/src/main/java/ui/tmldd/TMLArchiConnectorNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiConnectorNode.java
@@ -78,6 +78,7 @@ public  class TMLArchiConnectorNode extends TGConnector implements WithAttribute
         editable = true;
     }
     
+    @Override
     public boolean editOndoubleClick(JFrame frame) {
         JDialogTMLConnectorNode dialog = new JDialogTMLConnectorNode(frame, "Setting connector attributes", this);
 		//dialog.setSize(350, 300);
@@ -92,7 +93,7 @@ public  class TMLArchiConnectorNode extends TGConnector implements WithAttribute
 			
 		return true;
     }
-    
+    @Override
     protected void drawLastSegment(Graphics g, int x1, int y1, int x2, int y2){
 	  if (hasASpy) {
 	      g.drawImage(IconManager.img5200, (x1 + x2)/2, (y1 + y2)/2, null);
@@ -106,8 +107,10 @@ public  class TMLArchiConnectorNode extends TGConnector implements WithAttribute
     }
     
     public boolean hasASpy() {
-	return hasASpy;
+    	return hasASpy;
     }
+    
+    @Override
     public void addActionToPopupMenu(JPopupMenu componentMenu, ActionListener menuAL, int x, int y) {
         componentMenu.addSeparator();
         JMenuItem generate = null;
@@ -122,10 +125,13 @@ public  class TMLArchiConnectorNode extends TGConnector implements WithAttribute
         generate.addActionListener(menuAL);
         componentMenu.add(generate);
     }
+    
+    @Override
     public int getType() {
         return TGComponentManager.CONNECTOR_NODE_TMLARCHI;
     }
 	
+    @Override
 	protected String translateExtraParam() {
         StringBuffer sb = new StringBuffer("<extraparam>\n");
         sb.append("<info priority=\"");
@@ -182,6 +188,7 @@ public  class TMLArchiConnectorNode extends TGConnector implements WithAttribute
         }
     }
 	
+    @Override
     public boolean eventOnPopup(ActionEvent e) {
         String s = e.getActionCommand();
         TraceManager.addDev("action: " + s);
@@ -199,6 +206,7 @@ public  class TMLArchiConnectorNode extends TGConnector implements WithAttribute
         return true;
     }
     
+    
     public TMLArchiCPUNode getOriginNode() {
         TGComponent tgc = tdp.getComponentToWhichBelongs(getTGConnectingPointP1());
         if (tgc instanceof TMLArchiCPUNode) {
@@ -220,7 +228,7 @@ public  class TMLArchiConnectorNode extends TGConnector implements WithAttribute
 	public int getPriority() {
 		return priority;
 	}
-    
+    @Override
 	public String getAttributes() {
 		return "Priority = " + priority;
 	}
diff --git a/src/main/java/ui/tmldd/TMLArchiCrossbarNode.java b/src/main/java/ui/tmldd/TMLArchiCrossbarNode.java
index bebbe2799309e945d7d6088c4019a20ff59b27d1..6937ebab783b89023cc196844f40241a3089f3de 100755
--- a/src/main/java/ui/tmldd/TMLArchiCrossbarNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiCrossbarNode.java
@@ -149,10 +149,10 @@ public class TMLArchiCrossbarNode extends TMLArchiCommunicationNode implements S
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY );// Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY );// Issue #31
         g.setFont(f);
         w  = g.getFontMetrics().stringWidth(name);
-        g.drawString(name, x + (width - w)/2, y + 2 * textY );// Issue #31
+        drawSingleString(g,name, x + (width - w)/2, y + 2 * textY );// Issue #31
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiDMANode.java b/src/main/java/ui/tmldd/TMLArchiDMANode.java
index 5d841345092eab2ee1ea004208fba76275ce1950..6e023983cb72fcdbd156b7a3b6fe67906d122de3 100755
--- a/src/main/java/ui/tmldd/TMLArchiDMANode.java
+++ b/src/main/java/ui/tmldd/TMLArchiDMANode.java
@@ -144,10 +144,10 @@ public class TMLArchiDMANode extends TMLArchiCommunicationNode implements Swallo
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY );
+        drawSingleString(g,ster, x + (width - w)/2, y + textY );
         w  = g.getFontMetrics().stringWidth(name);
         g.setFont(f);
-        g.drawString(name, x + (width - w)/2, y + 2* textY );
+        drawSingleString(g,name, x + (width - w)/2, y + 2* textY );
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiEventArtifact.java b/src/main/java/ui/tmldd/TMLArchiEventArtifact.java
index f71db2491a3e75483cc15a373e80f2a5a8d2de10..210a750b0afb9a9b248054a8bd9a79af0dcc2af2 100755
--- a/src/main/java/ui/tmldd/TMLArchiEventArtifact.java
+++ b/src/main/java/ui/tmldd/TMLArchiEventArtifact.java
@@ -141,11 +141,11 @@ public class TMLArchiEventArtifact extends TGCWithoutInternalComponent implement
 
         g.drawImage( scale( IconManager.img9 ), x+width- scale( SPACE + FILE_X - 3 )/*space-fileX*/ + 3, y + scale( SPACE + 7 )/*space + 7*/, null);// Issue #31
 
-        g.drawString(value, x + textX , y + textY);
+        drawSingleString(g,value, x + textX , y + textY);
 
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.ITALIC));
-        g.drawString(typeName, x + textX , y + textY + scale( 20 ) );// Issue #31
+        drawSingleString(g,typeName, x + textX , y + textY + scale( 20 ) );// Issue #31
         g.setFont(f);
     }
 
diff --git a/src/main/java/ui/tmldd/TMLArchiFPGANode.java b/src/main/java/ui/tmldd/TMLArchiFPGANode.java
index 023a13a6678d903f78113755055abeb6ea38ff91..7f098be6817d3991f1e7c2347daf484c209f99e0 100755
--- a/src/main/java/ui/tmldd/TMLArchiFPGANode.java
+++ b/src/main/java/ui/tmldd/TMLArchiFPGANode.java
@@ -159,12 +159,12 @@ public class TMLArchiFPGANode extends TMLArchiNode implements SwallowTGComponent
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY); // Issue #31
         g.setFont(f);
         w  = g.getFontMetrics().stringWidth(name);
         // Issue #31
         final int marginY2 = scale( MARGIN_Y_2 );
-        g.drawString(name, x + (width - w)/2, y + marginY2 );
+        drawSingleString(g,name, x + (width - w)/2, y + marginY2 );
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiFirewallNode.java b/src/main/java/ui/tmldd/TMLArchiFirewallNode.java
index c1ff19888771d5ab4d08a5af9f8c9a00641bfd69..4479a7736a0a193d40e0cd11763c9d13c2eed8e3 100644
--- a/src/main/java/ui/tmldd/TMLArchiFirewallNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiFirewallNode.java
@@ -147,12 +147,12 @@ public class TMLArchiFirewallNode extends TMLArchiCommunicationNode implements S
         // Strings
         String ster = "<<" + stereotype + ">>";
         int w  = g.getFontMetrics().stringWidth(ster);
-        g.drawString(ster, x + (width - w)/2, y + textY);
+        drawSingleString(g,ster, x + (width - w)/2, y + textY);
         w  = g.getFontMetrics().stringWidth(name);
         
         // Issue #31
         final int marginY2 = scale( MARGIN_Y_2 );
-        g.drawString(name, x + (width - w)/2, y + marginY2 );
+        drawSingleString(g,name, x + (width - w)/2, y + marginY2 );
 		
 		// Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiHWANode.java b/src/main/java/ui/tmldd/TMLArchiHWANode.java
index c95aaacaafc844f33b240cb27e6b91a4d3960a11..abab3551d867dc03b03e78ad8a9a9c3b138c9657 100755
--- a/src/main/java/ui/tmldd/TMLArchiHWANode.java
+++ b/src/main/java/ui/tmldd/TMLArchiHWANode.java
@@ -151,13 +151,13 @@ public class TMLArchiHWANode extends TMLArchiNode implements SwallowTGComponent,
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY ); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY ); // Issue #31
         g.setFont(f);
         w  = g.getFontMetrics().stringWidth(name);
 
         // Issue #31
         final int marginY2 = scale( MARGIN_Y_2 );
-        g.drawString(name, x + (width - w)/2, y + marginY2 );
+        drawSingleString(g,name, x + (width - w)/2, y + marginY2 );
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiKey.java b/src/main/java/ui/tmldd/TMLArchiKey.java
index 2a814efa01e379a3d4246c56a226897449691d3e..593ce9d29c4e20dac60ead5dcd4772dc3c4be2e7 100755
--- a/src/main/java/ui/tmldd/TMLArchiKey.java
+++ b/src/main/java/ui/tmldd/TMLArchiKey.java
@@ -171,12 +171,12 @@ public class TMLArchiKey extends TGCWithoutInternalComponent implements Swallowe
         // Issue #31
         g.drawImage( scale( IconManager.img9 ), x+width-keyOffsetY-keyOffsetX + shaftWidth/*3*/, y + keyOffsetY + scale( 7 ), null );
 
-        g.drawString(value, x + textX , y + textY);
+        drawSingleString(g,value, x + textX , y + textY);
 
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.ITALIC));
         // Issue #31
-        g.drawString(typeName, x + textX , y + textY + scale( 20 ) );
+        drawSingleString(g,typeName, x + textX , y + textY + scale( 20 ) );
         g.setFont(f);
     }
 
diff --git a/src/main/java/ui/tmldd/TMLArchiMemoryNode.java b/src/main/java/ui/tmldd/TMLArchiMemoryNode.java
index d94658bbb592577237f98841f104953cf7936bf2..9b826737032003d718ef16c8d709d5e2552f6776 100755
--- a/src/main/java/ui/tmldd/TMLArchiMemoryNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiMemoryNode.java
@@ -144,10 +144,10 @@ public class TMLArchiMemoryNode extends TMLArchiCommunicationNode implements Swa
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY); // Issue #31
         w  = g.getFontMetrics().stringWidth(name);
         g.setFont(f);
-        g.drawString(name, x + (width - w)/2, y + 2 * textY/*2*/); // Issue #31
+        drawSingleString(g,name, x + (width - w)/2, y + 2 * textY/*2*/); // Issue #31
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiPortArtifact.java b/src/main/java/ui/tmldd/TMLArchiPortArtifact.java
index 9ff6a385359245011e12d6d3dba02aa7dc5d2af5..19ece1ae27e911a6748c258d1957a7b73b348931 100644
--- a/src/main/java/ui/tmldd/TMLArchiPortArtifact.java
+++ b/src/main/java/ui/tmldd/TMLArchiPortArtifact.java
@@ -178,11 +178,11 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements
 
         g.drawImage( scale( IconManager.img9 ), x+width - scale( space + fileX - 3 ), y + scale( SPACE + 7 ), null);
 
-        g.drawString(value, x + textX , y + textY);
+        drawSingleString(g,value, x + textX , y + textY);
 
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.ITALIC));
-        g.drawString(typeName, x + textX , y + textY + 20);
+        drawSingleString(g,typeName, x + textX , y + textY + 20);
         g.setFont(f);
 
         // Link to selected memory
diff --git a/src/main/java/ui/tmldd/TMLArchiRouterNode.java b/src/main/java/ui/tmldd/TMLArchiRouterNode.java
index 30012eb9223bd0b4a2b98ff37509fc6facb77f46..cee15e328d4b8e9b8b21fa07d26d33c489a7af82 100755
--- a/src/main/java/ui/tmldd/TMLArchiRouterNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiRouterNode.java
@@ -143,9 +143,9 @@ public class TMLArchiRouterNode extends TMLArchiCommunicationNode implements Swa
         // Strings
         String ster = "<<" + stereotype + ">>";
         int w  = g.getFontMetrics().stringWidth(ster);
-        g.drawString(ster, x + (width - w)/2, y + textY ); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY ); // Issue #31
         w  = g.getFontMetrics().stringWidth(name);
-        g.drawString(name, x + (width - w)/2, y + 2 * textY ); // Issue #31
+        drawSingleString(g,name, x + (width - w)/2, y + 2 * textY ); // Issue #31
 
         // Icon
         // Issue #31
diff --git a/src/main/java/ui/tmldd/TMLArchiVGMNNode.java b/src/main/java/ui/tmldd/TMLArchiVGMNNode.java
index 80c7c4c4de9d00c2dbc9411febf553117bdc2bdf..4f54eb551fac0c3772557151cf44488b36fd70b1 100755
--- a/src/main/java/ui/tmldd/TMLArchiVGMNNode.java
+++ b/src/main/java/ui/tmldd/TMLArchiVGMNNode.java
@@ -149,10 +149,10 @@ public class TMLArchiVGMNNode extends TMLArchiCommunicationNode implements Swall
         int w  = g.getFontMetrics().stringWidth(ster);
         Font f = g.getFont();
         g.setFont(f.deriveFont(Font.BOLD));
-        g.drawString(ster, x + (width - w)/2, y + textY); // Issue #31
+        drawSingleString(g,ster, x + (width - w)/2, y + textY); // Issue #31
         g.setFont(f);
         w  = g.getFontMetrics().stringWidth(name);
-        g.drawString(name, x + (width - w)/2, y + 2 * textY); // Issue #31
+        drawSingleString(g,name, x + (width - w)/2, y + 2 * textY); // Issue #31
 
         // Icon
         //g.drawImage(IconManager.imgic1102.getImage(), x + width - 20, y + 4, null);
diff --git a/src/main/java/ui/tmlsd/TGConnectingPointTMLSD.java b/src/main/java/ui/tmlsd/TGConnectingPointTMLSD.java
index 417421aad7cfab0e7dc9485aad27489e30c7ac0c..2f14729e2ad365ffdb25ad2b38733151e379fb56 100755
--- a/src/main/java/ui/tmlsd/TGConnectingPointTMLSD.java
+++ b/src/main/java/ui/tmlsd/TGConnectingPointTMLSD.java
@@ -59,7 +59,7 @@ public class TGConnectingPointTMLSD extends  TGConnectingPoint{
     public TGConnectingPointTMLSD(CDElement _container, int _x, int _y, boolean _in, boolean _out) {
         super(_container, _x, _y, _in, _out);
     }
-    
+    @Override
     public boolean isCompatibleWith(int type) {
         //
         if ((type == TGComponentManager.CONNECTOR_MESSAGE_ASYNC_TMLSD)) {
diff --git a/src/main/java/ui/tmlsd/TGConnectorMessageAsyncTMLSD.java b/src/main/java/ui/tmlsd/TGConnectorMessageAsyncTMLSD.java
index 8f15bb0318f5f0cec7d3d946536977307f896805..06cee3dba50d060b8e1ea12bbc6ed45219fa1e35 100755
--- a/src/main/java/ui/tmlsd/TGConnectorMessageAsyncTMLSD.java
+++ b/src/main/java/ui/tmlsd/TGConnectorMessageAsyncTMLSD.java
@@ -85,7 +85,7 @@ public class TGConnectorMessageAsyncTMLSD extends TGConnectorMessageTMLSD {
             heightValue = g.getFontMetrics().getHeight();
         }
         
-        g.drawString(value, ((p1.getX() + p2.getX()) / 2)-widthValue/2, ((p1.getY() + p2.getY()) / 2) - 5);
+        drawSingleString(g,value, ((p1.getX() + p2.getX()) / 2)-widthValue/2, ((p1.getY() + p2.getY()) / 2) - 5);
     }
     
     public int getType() {
diff --git a/src/main/java/ui/tmlsd/TMLSDActionState.java b/src/main/java/ui/tmlsd/TMLSDActionState.java
index ae3a8b2091f364226269156598cf41c281658037..5e475ba7ec915a96e19b9b5e09ae6f2f9fb8d18b 100755
--- a/src/main/java/ui/tmlsd/TMLSDActionState.java
+++ b/src/main/java/ui/tmlsd/TMLSDActionState.java
@@ -93,7 +93,7 @@ public class TMLSDActionState extends TGCOneLineText implements SwallowedTGCompo
 //        }
         g.drawRoundRect(x - width/2, y, width, height, arc, arc);
         
-        g.drawString(value, x - w / 2 , y + textY);
+        drawSingleString(g,value, x - w / 2 , y + textY);
     }
     
     @Override
diff --git a/src/main/java/ui/tmlsd/TMLSDInstance.java b/src/main/java/ui/tmlsd/TMLSDInstance.java
index a8a47a02976dd91bc8e85201ed259499f090b706..abbad573bfd8551b07d606173b2d432066af1864 100755
--- a/src/main/java/ui/tmlsd/TMLSDInstance.java
+++ b/src/main/java/ui/tmlsd/TMLSDInstance.java
@@ -130,7 +130,7 @@ public abstract class TMLSDInstance extends TGCWithInternalComponent implements
         	scaledHText = scale( hText );
         }
 
-		g.drawString(name, x - (scaledWText / 2) + width/2, y - 3); // Issue #31
+		drawSingleString(g,name, x - (scaledWText / 2) + width/2, y - 3); // Issue #31
 		g.drawLine(x - (scaledWText / 2) + width/2, y-2, x + (scaledWText / 2) + width/2, y-2); // Issue #31
 		g.drawLine(x+(width/2), y, x+(width/2), y +height);