diff --git a/src/main/java/ui/window/JDialogADConnector.java b/src/main/java/ui/window/JDialogADConnector.java
index 9938b966d90b7459183f9d7488d2c7464900083f..85dcc9a53eb0bcdbf697c6871938ed0071674ed7 100755
--- a/src/main/java/ui/window/JDialogADConnector.java
+++ b/src/main/java/ui/window/JDialogADConnector.java
@@ -49,7 +49,7 @@ import javax.swing.*;
 import java.awt.*;
 
 /**
- * Class JDialogADConnector
+ * Class JDialogBaseADConnector
  * Dialog for associating guards to connectors of ADs
  * Creation: 12/04/2010
  * @version 1.0 12/04/2010
diff --git a/src/main/java/ui/window/JDialogADDBusNode.java b/src/main/java/ui/window/JDialogADDBusNode.java
index 3c4739e8eb1aafccba74971eb9a28e8b3dfaca8e..83b09fb7991633051f7398cd658d194e56e44a15 100755
--- a/src/main/java/ui/window/JDialogADDBusNode.java
+++ b/src/main/java/ui/window/JDialogADDBusNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 02/07/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogADDBusNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDBusNode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -175,14 +175,8 @@ public class JDialogADDBusNode extends javax.swing.JDialog implements ActionList
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDCPUNode.java b/src/main/java/ui/window/JDialogADDCPUNode.java
index 91212725aead7efb1a39dd7c639120e77113225f..0ebdcd3f8a8dcfcfad545740313c4403079952d9 100755
--- a/src/main/java/ui/window/JDialogADDCPUNode.java
+++ b/src/main/java/ui/window/JDialogADDCPUNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
 * @version 1.0 02/07/2014
 * @author Ludovic APVRILLE
  */
-public class JDialogADDCPUNode extends javax.swing.JDialog implements ActionListener {
+public class JDialogADDCPUNode extends JDialogBase implements ActionListener {
 	 private static String[] tracemodeTab = {"VCI logger"};
 
 	private boolean regularClose;
@@ -211,14 +211,8 @@ public class JDialogADDCPUNode extends javax.swing.JDialog implements ActionList
 		c0.gridwidth = 1;
 		c0.gridheight = 1;
 		c0.fill = GridBagConstraints.HORIZONTAL;
-		closeButton = new JButton("Save and Close", IconManager.imgic25);
-		//closeButton.setPreferredSize(new Dimension(600, 50));
-		closeButton.addActionListener(this);
-		c.add(closeButton, c0);
-		c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-		cancelButton = new JButton("Cancel", IconManager.imgic27);
-		cancelButton.addActionListener(this);
-		c.add(cancelButton, c0);
+		
+		initButtons(closeButton, cancelButton, c0, c, this);
 	}
 	
 	public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDCoproMWMRNode.java b/src/main/java/ui/window/JDialogADDCoproMWMRNode.java
index 69b27145be9bec181d52421489f7261a85c863f5..648b6e042136c08d07ed0a10d17931ac48d69961 100755
--- a/src/main/java/ui/window/JDialogADDCoproMWMRNode.java
+++ b/src/main/java/ui/window/JDialogADDCoproMWMRNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
 * @version 1.0 22/08/2014
 * @author Ludovic APVRILLE
  */
-public class JDialogADDCoproMWMRNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDCoproMWMRNode extends JDialogBase implements ActionListener  {
 		
 		private boolean regularClose;
 		
@@ -193,14 +193,8 @@ public class JDialogADDCoproMWMRNode extends javax.swing.JDialog implements Acti
 				c0.gridwidth = 1;
 				c0.gridheight = 1;
 				c0.fill = GridBagConstraints.HORIZONTAL;
-				closeButton = new JButton("Save and Close", IconManager.imgic25);
-				//closeButton.setPreferredSize(new Dimension(600, 50));
-				closeButton.addActionListener(this);
-				c.add(closeButton, c0);
-				c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-				cancelButton = new JButton("Cancel", IconManager.imgic27);
-				cancelButton.addActionListener(this);
-				c.add(cancelButton, c0);
+				
+				initButtons(closeButton, cancelButton, c0, c, this);
 		}
 		
 		public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDCrossbarNode.java b/src/main/java/ui/window/JDialogADDCrossbarNode.java
index 250df361f4074c49f009aaf11bad262df7f44027..470ce6ebc99a22bf50c2fbaab28b28bc5d0cee92 100755
--- a/src/main/java/ui/window/JDialogADDCrossbarNode.java
+++ b/src/main/java/ui/window/JDialogADDCrossbarNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 02/07/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogADDCrossbarNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDCrossbarNode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -175,14 +175,8 @@ public class JDialogADDCrossbarNode extends javax.swing.JDialog implements Actio
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDICUNode.java b/src/main/java/ui/window/JDialogADDICUNode.java
index 3c62c0136c294d6c296c4a18500dc7086fb6ac37..955f21bc7163da3e1957d9a2f009904b1a79e3a5 100755
--- a/src/main/java/ui/window/JDialogADDICUNode.java
+++ b/src/main/java/ui/window/JDialogADDICUNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 22/08/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogADDICUNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDICUNode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -159,14 +159,8 @@ public class JDialogADDICUNode extends javax.swing.JDialog implements ActionList
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDMemoryNode.java b/src/main/java/ui/window/JDialogADDMemoryNode.java
index 4b637e2395ea366dee4da52e4aab4adc5b4a59eb..29ee1df8cc0523a9128f278d98306733746f5e73 100755
--- a/src/main/java/ui/window/JDialogADDMemoryNode.java
+++ b/src/main/java/ui/window/JDialogADDMemoryNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 21/08/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogADDMemoryNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDMemoryNode extends JDialogBase implements ActionListener  {
 
     //private static String[] tracemodeTab = {"vcd trace", "VCI logger", "VCI stats"};
     private static String[] tracemodeTab = {"VCI logger","VCI stats"};
@@ -176,14 +176,8 @@ public class JDialogADDMemoryNode extends javax.swing.JDialog implements ActionL
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDTTYNode.java b/src/main/java/ui/window/JDialogADDTTYNode.java
index bc3586d66215107c3a12d8c659dcefebe94c3805..ac982b91b1d1a9d799143bd8219447415bac9ae8 100755
--- a/src/main/java/ui/window/JDialogADDTTYNode.java
+++ b/src/main/java/ui/window/JDialogADDTTYNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 21/08/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogADDTTYNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDTTYNode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -151,14 +151,8 @@ public class JDialogADDTTYNode extends javax.swing.JDialog implements ActionList
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDTimerNode.java b/src/main/java/ui/window/JDialogADDTimerNode.java
index 22ef59eea6f55981bff168707325be09cb64c0cc..fbcc55c2215072ac4dcf79429549136c41d98fdf 100755
--- a/src/main/java/ui/window/JDialogADDTimerNode.java
+++ b/src/main/java/ui/window/JDialogADDTimerNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 22/08/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogADDTimerNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDTimerNode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -159,14 +159,8 @@ public class JDialogADDTimerNode extends javax.swing.JDialog implements ActionLi
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogADDVgmnNode.java b/src/main/java/ui/window/JDialogADDVgmnNode.java
index 17ae66ced8444a2eb6574420a0466d6deec22e9a..9fef5379663d709a25513d22f128f250822242ad 100755
--- a/src/main/java/ui/window/JDialogADDVgmnNode.java
+++ b/src/main/java/ui/window/JDialogADDVgmnNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 02/07/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogADDVgmnNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogADDVgmnNode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -176,14 +176,8 @@ public class JDialogADDVgmnNode extends javax.swing.JDialog implements ActionLis
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+       
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogArchiKey.java b/src/main/java/ui/window/JDialogArchiKey.java
index 5d5293345ec454c6a9baa9e02066ffe55d22a8bb..e2bc9d4458c6d70a09ee9722929945e14ecc72e1 100644
--- a/src/main/java/ui/window/JDialogArchiKey.java
+++ b/src/main/java/ui/window/JDialogArchiKey.java
@@ -62,7 +62,7 @@ import java.util.Vector;
  * @version 1.0 19/09/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogArchiKey extends javax.swing.JDialog implements ActionListener  {
+public class JDialogArchiKey extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
 	private boolean emptyList = false;
@@ -180,14 +180,8 @@ public class JDialogArchiKey extends javax.swing.JDialog implements ActionListen
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogArrayGet.java b/src/main/java/ui/window/JDialogArrayGet.java
index df14b93f79dd9157921b13ac15854d21b91034c1..bfd1aecadb49ee9db20da9f765f338236e1396a0 100755
--- a/src/main/java/ui/window/JDialogArrayGet.java
+++ b/src/main/java/ui/window/JDialogArrayGet.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 20/03/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogArrayGet extends javax.swing.JDialog implements ActionListener {
+public class JDialogArrayGet extends JDialogBase implements ActionListener {
     
     private JPanel panel1;
     private Frame frame;
@@ -176,13 +176,8 @@ public class JDialogArrayGet extends javax.swing.JDialog implements ActionListen
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogArraySet.java b/src/main/java/ui/window/JDialogArraySet.java
index b63bb55e9db72c659a3d76e9e1c5531e1cb3f035..4f2c9e53e7f269017b9a24be15476a3756f7480a 100755
--- a/src/main/java/ui/window/JDialogArraySet.java
+++ b/src/main/java/ui/window/JDialogArraySet.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 20/03/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogArraySet extends javax.swing.JDialog implements ActionListener {
+public class JDialogArraySet extends JDialogBase implements ActionListener {
     
     private JPanel panel1;
     private Frame frame;
@@ -176,13 +176,8 @@ public class JDialogArraySet extends javax.swing.JDialog implements ActionListen
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogArtifact.java b/src/main/java/ui/window/JDialogArtifact.java
index 369ca970817e3fc6942a7c5c431ed8d4af91b461..7c8119dd072e5414c3e22d86ea56d55cee5773dc 100755
--- a/src/main/java/ui/window/JDialogArtifact.java
+++ b/src/main/java/ui/window/JDialogArtifact.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 04/05/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogArtifact extends javax.swing.JDialog implements ActionListener  {
+public class JDialogArtifact extends JDialog implements ActionListener  {
     
     private String name, jarName;
     private boolean userCode;
@@ -158,6 +158,7 @@ public class JDialogArtifact extends javax.swing.JDialog implements ActionListen
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
+        
         closeButton = new JButton("Save and Close", IconManager.imgic25);
         //closeButton.setPreferredSize(new Dimension(600, 50));
         closeButton.addActionListener(this);
diff --git a/src/main/java/ui/window/JDialogAssumption.java b/src/main/java/ui/window/JDialogAssumption.java
index cbdbdb110c6897611ba0df1bc656d40247d70661..05f0f3e4f4242e733bbe6243ba34ba74f9fa441e 100755
--- a/src/main/java/ui/window/JDialogAssumption.java
+++ b/src/main/java/ui/window/JDialogAssumption.java
@@ -57,7 +57,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 04/09/2013
  * @author Ludovic APVRILLE
  */
-public class JDialogAssumption extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAssumption extends JDialogBase implements ActionListener  {
     
 	
     private boolean regularClose;
@@ -65,6 +65,7 @@ public class JDialogAssumption extends javax.swing.JDialog implements ActionList
     private String name;
     private int type, durability, source, status, limitation;
     private String text;
+    private JButton closeButton, cancelButton;
     
     // Panel1
     private JComboBox<String> typeBox;
@@ -211,14 +212,8 @@ public class JDialogAssumption extends javax.swing.JDialog implements ActionList
         
         c0.gridwidth = 1;
         c0.gridheight = 1;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);   
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogAttack.java b/src/main/java/ui/window/JDialogAttack.java
index a3e9a12a59e7d60e0c1fc88d8c5e7f192798182c..217c450dd6a0212a693b9a7ef1844e6087f26da6 100755
--- a/src/main/java/ui/window/JDialogAttack.java
+++ b/src/main/java/ui/window/JDialogAttack.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 11/12/2009
  * @author Ludovic APVRILLE
  */
-public class JDialogAttack extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAttack extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -143,14 +143,8 @@ public class JDialogAttack extends javax.swing.JDialog implements ActionListener
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogAttribute.java b/src/main/java/ui/window/JDialogAttribute.java
index 46befddae65c4c800d00448a742aeec427905117..9540f6117a3b717ed615505b438e7b10e8aa98b3 100755
--- a/src/main/java/ui/window/JDialogAttribute.java
+++ b/src/main/java/ui/window/JDialogAttribute.java
@@ -60,7 +60,7 @@ import java.util.LinkedList;
  * @version 1.0 18/12/2003
  * @author Ludovic APVRILLE
  */
-public class JDialogAttribute extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogAttribute extends JDialogBase implements ActionListener, ListSelectionListener  {
     protected java.util.List<TAttribute> attributes, attributesPar, forbidden;
     protected java.util.List<Boolean> initValues;
     protected boolean checkKeyword, checkJavaKeyword, checkTMLKeyword;
@@ -251,14 +251,8 @@ public class JDialogAttribute extends javax.swing.JDialog implements ActionListe
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogAvatarBlock.java b/src/main/java/ui/window/JDialogAvatarBlock.java
index 75c28dfc3b0c1e21bcf33e0b2d900c7bb56b3923..b6400f7fc111d3421d7c08dbe0250faae12e9a3a 100755
--- a/src/main/java/ui/window/JDialogAvatarBlock.java
+++ b/src/main/java/ui/window/JDialogAvatarBlock.java
@@ -64,7 +64,7 @@ import java.util.LinkedList;
  * @version 1.0 08/04/2010
  * @author Ludovic APVRILLE
  */
-public class JDialogAvatarBlock extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogAvatarBlock extends JDialog implements ActionListener, ListSelectionListener  {
 
     private LinkedList<TAttribute> attributes, attributesPar, forbidden;
     private LinkedList<Boolean> initValues;
@@ -72,7 +72,7 @@ public class JDialogAvatarBlock extends javax.swing.JDialog implements ActionLis
     private LinkedList<AvatarSignal> signals, signalsPar;
     private boolean checkKeyword, checkJavaKeyword;
 
-    private boolean cancelled = false;
+    private boolean cancelled = true;
 
     protected String [] globalCode;
     protected JTextArea jtaGlobalCode;
@@ -598,6 +598,7 @@ public class JDialogAvatarBlock extends javax.swing.JDialog implements ActionLis
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
+        
         closeButton = new JButton("Save and Close", IconManager.imgic25);
         //closeButton.setPreferredSize(new Dimension(600, 50));
         closeButton.addActionListener(this);
@@ -942,6 +943,7 @@ public class JDialogAvatarBlock extends javax.swing.JDialog implements ActionLis
 
         globalCode =  Conversion.wrapText(jtaGlobalCode.getText());
         mainCode = jtaMainCode.getText();
+        cancelled = false;
         dispose();
     }
 
@@ -952,7 +954,6 @@ public class JDialogAvatarBlock extends javax.swing.JDialog implements ActionLis
 
 
     public void cancelDialog() {
-        cancelled = true;
         dispose();
     }
 
diff --git a/src/main/java/ui/window/JDialogAvatarBlockArtifact.java b/src/main/java/ui/window/JDialogAvatarBlockArtifact.java
index eba1cbeac96c3502de5ef0da89294ca21fa8ddc5..843e4fcb0c3cf7cc353bb6d145cbf41f02aab2bf 100755
--- a/src/main/java/ui/window/JDialogAvatarBlockArtifact.java
+++ b/src/main/java/ui/window/JDialogAvatarBlockArtifact.java
@@ -61,7 +61,7 @@ import java.util.Vector;
  * @version 1.0 02/07/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogAvatarBlockArtifact extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarBlockArtifact extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
 	private boolean emptyList = false;
@@ -155,14 +155,8 @@ public class JDialogAvatarBlockArtifact extends javax.swing.JDialog implements A
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogAvatarChannelArtifact.java b/src/main/java/ui/window/JDialogAvatarChannelArtifact.java
index 0d1f5b4222d16324f112ab7b1f6b41b6e2bd0023..6f74aa9ad5bc19a8e3da33e28321c3354f70b615 100755
--- a/src/main/java/ui/window/JDialogAvatarChannelArtifact.java
+++ b/src/main/java/ui/window/JDialogAvatarChannelArtifact.java
@@ -61,7 +61,7 @@ import java.util.Vector;
  * @version 1.0 25/08/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogAvatarChannelArtifact extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarChannelArtifact extends JDialogBase implements ActionListener  {
 
     private boolean regularClose;
     private boolean emptyList = false;
@@ -155,14 +155,8 @@ public class JDialogAvatarChannelArtifact extends javax.swing.JDialog implements
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogAvatarFirewall.java b/src/main/java/ui/window/JDialogAvatarFirewall.java
index 3974aad362b61e3035d8c5c3043f0fae2753e074..7776da1300818d4517417b4bceebae3aa3d30e25 100644
--- a/src/main/java/ui/window/JDialogAvatarFirewall.java
+++ b/src/main/java/ui/window/JDialogAvatarFirewall.java
@@ -66,7 +66,7 @@ import java.util.Vector;
  * @version 1.0 17/10/2007
  * @author Letitia Li
  */
-public class JDialogAvatarFirewall extends javax.swing.JDialog implements ActionListener,ListSelectionListener  {
+public class JDialogAvatarFirewall extends JDialogBase implements ActionListener,ListSelectionListener  {
     
     private boolean regularClose;
     
@@ -198,14 +198,8 @@ public class JDialogAvatarFirewall extends javax.swing.JDialog implements Action
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogAvatarLibraryFunction.java b/src/main/java/ui/window/JDialogAvatarLibraryFunction.java
index 23f4376a1e5366cb36132d107ecbb1f6ad97f2e6..27c02b2fc2f3abeb22bf303b4f6732ffabbf220c 100755
--- a/src/main/java/ui/window/JDialogAvatarLibraryFunction.java
+++ b/src/main/java/ui/window/JDialogAvatarLibraryFunction.java
@@ -65,7 +65,7 @@ import java.util.LinkedList;
  * @version 1.0 04.11.2016
  * @author Florian Lugou
  */
-public class JDialogAvatarLibraryFunction extends javax.swing.JDialog implements ActionListener, ListSelectionListener {
+public class JDialogAvatarLibraryFunction extends JDialogBase implements ActionListener, ListSelectionListener {
     private AvatarBDLibraryFunction bdElement;
 
     private boolean checkKeyword;
@@ -569,15 +569,8 @@ public class JDialogAvatarLibraryFunction extends javax.swing.JDialog implements
         gridConstraints.gridwidth = 1;
         gridConstraints.gridheight = 1;
         gridConstraints.fill = GridBagConstraints.HORIZONTAL;
-        this.closeButton = new JButton("Save and Close", IconManager.imgic25);
-        this.closeButton.addActionListener(this);
-        c.add(this.closeButton, gridConstraints);
-
-        // Add Cancel button
-        gridConstraints.gridwidth = GridBagConstraints.REMAINDER; //end row
-        this.cancelButton = new JButton("Cancel", IconManager.imgic27);
-        this.cancelButton.addActionListener(this);
-        c.add(this.cancelButton, gridConstraints);
+        
+        initButtons(closeButton, cancelButton, gridConstraints, c, this);
     }
 
     public void selectTabIndex (int tab) {
diff --git a/src/main/java/ui/window/JDialogAvatarProperty.java b/src/main/java/ui/window/JDialogAvatarProperty.java
index e54aeed3776d4baad5195330737a891e3620f6bd..ebe4779241c6c6b5d6162a9a09b67a925d80e233 100755
--- a/src/main/java/ui/window/JDialogAvatarProperty.java
+++ b/src/main/java/ui/window/JDialogAvatarProperty.java
@@ -55,13 +55,13 @@ import java.awt.event.ActionListener;
    * @version 1.0 26/04/2010
    * @author Ludovic APVRILLE
  */
-public class JDialogAvatarProperty extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarProperty extends JDialogBase implements ActionListener  {
     private JPanel panel1;
 
     private String name;
     private int kind;
     boolean notSelected;
-    private boolean hasBeenCancelled = false;
+    private boolean hasBeenCancelled = true;
     private JTextField myName;
     private JRadioButton safety, notSafety, reachability, liveness, notReachability, notLiveness;
 
@@ -172,14 +172,8 @@ public class JDialogAvatarProperty extends javax.swing.JDialog implements Action
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
@@ -199,6 +193,7 @@ public class JDialogAvatarProperty extends javax.swing.JDialog implements Action
 
 
     public void closeDialog() {
+    	hasBeenCancelled = false;
         dispose();
     }
 
@@ -231,7 +226,6 @@ public class JDialogAvatarProperty extends javax.swing.JDialog implements Action
     }
 
     public void cancelDialog() {
-        hasBeenCancelled = true;
         dispose();
     }
 }
diff --git a/src/main/java/ui/window/JDialogAvatarPropertyConnector.java b/src/main/java/ui/window/JDialogAvatarPropertyConnector.java
index 5fb24c0462bfe0c82bbabd9c198646f138956225..161e9438633e52b251ac4aaa2dcd0dfa595bb1b2 100755
--- a/src/main/java/ui/window/JDialogAvatarPropertyConnector.java
+++ b/src/main/java/ui/window/JDialogAvatarPropertyConnector.java
@@ -55,11 +55,11 @@ import java.awt.event.ActionListener;
  * @version 1.0 26/04/2010
  * @author Ludovic APVRILLE
  */
-public class JDialogAvatarPropertyConnector extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarPropertyConnector extends JDialogBase implements ActionListener  {
     private JPanel panel1;
     
 	private boolean negated;
-	private boolean hasBeenCancelled = false;
+	private boolean hasBeenCancelled = true;
     private JCheckBox isNegated;
     
     // Main Panel
@@ -129,14 +129,8 @@ public class JDialogAvatarPropertyConnector extends javax.swing.JDialog implemen
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
@@ -156,6 +150,7 @@ public class JDialogAvatarPropertyConnector extends javax.swing.JDialog implemen
     
     
     public void closeDialog() {
+		hasBeenCancelled = false;
         dispose();
     }
     
@@ -164,7 +159,6 @@ public class JDialogAvatarPropertyConnector extends javax.swing.JDialog implemen
     }
     
     public void cancelDialog() {
-		hasBeenCancelled = true;
         dispose();
     }
 }
diff --git a/src/main/java/ui/window/JDialogAvatarSignal.java b/src/main/java/ui/window/JDialogAvatarSignal.java
index f76fb648286864658f98563757e398ced42b8c25..747e403ccc3550db1c9c4251b02423f5c60519a7 100755
--- a/src/main/java/ui/window/JDialogAvatarSignal.java
+++ b/src/main/java/ui/window/JDialogAvatarSignal.java
@@ -59,7 +59,7 @@ import java.util.Vector;
  * @version 1.0 12/04/2010
  * @author Ludovic APVRILLE
  */
-public class JDialogAvatarSignal extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarSignal extends JDialogBase implements ActionListener  {
 
     private LinkedList<AvatarSignal> signals, realSignals;
     private LinkedList<String> showSignals;
@@ -69,7 +69,7 @@ public class JDialogAvatarSignal extends javax.swing.JDialog implements ActionLi
 	private TGComponent reference;
     private Vector<TGComponent> refs;
 
-    private boolean cancelled = false;
+    private boolean cancelled = true;
 
 	private JComboBox<TGComponent> refChecks;
 
@@ -198,14 +198,8 @@ public class JDialogAvatarSignal extends javax.swing.JDialog implements ActionLi
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void	actionPerformed(ActionEvent evt)  {
@@ -227,6 +221,7 @@ public class JDialogAvatarSignal extends javax.swing.JDialog implements ActionLi
     }
 
     public void closeDialog() {
+        cancelled = false;
         dispose();
     }
 
@@ -248,7 +243,6 @@ public class JDialogAvatarSignal extends javax.swing.JDialog implements ActionLi
     }
 
     public void cancelDialog() {
-        cancelled = true;
         dispose();
     }
 }
diff --git a/src/main/java/ui/window/JDialogAvatarState.java b/src/main/java/ui/window/JDialogAvatarState.java
index 0cf68857c864f1cc23e91be615ce33b8d3208cc5..f4ab694296abb58ac0fbceba735e1b75e52d9663 100755
--- a/src/main/java/ui/window/JDialogAvatarState.java
+++ b/src/main/java/ui/window/JDialogAvatarState.java
@@ -57,13 +57,13 @@ import java.awt.event.ActionListener;
  * @version 1.0 08/03/2013
  * @author Ludovic APVRILLE
  */
-public class JDialogAvatarState extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarState extends JDialog implements ActionListener  {
     
 	
 	//protected String [] globalCode;
 	protected String [] entryCode;
     
-    private boolean cancelled = false;
+    private boolean cancelled = true;
     
     
     private JPanel panel1;
@@ -210,10 +210,9 @@ public class JDialogAvatarState extends javax.swing.JDialog implements ActionLis
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
+        
         closeButton = new JButton("Save and Close", IconManager.imgic25);
         //closeButton.setPreferredSize(new Dimension(600, 50));
-		
-		
         closeButton.addActionListener(this);
         c.add(closeButton, c0);
         c0.gridwidth = GridBagConstraints.REMAINDER; //end row
@@ -238,6 +237,7 @@ public class JDialogAvatarState extends javax.swing.JDialog implements ActionLis
 		
 		//globalCode =  Conversion.wrapText(jtaGlobalCode.getText());
 		entryCode =  Conversion.wrapText(jtaEntryCode.getText());
+		cancelled = false;
         dispose();
     }
     
@@ -254,7 +254,6 @@ public class JDialogAvatarState extends javax.swing.JDialog implements ActionLis
 	}
     
     public void cancelDialog() {
-		cancelled = true;
         dispose();
     }
 	
diff --git a/src/main/java/ui/window/JDialogAvatarTimer.java b/src/main/java/ui/window/JDialogAvatarTimer.java
index b36917c46f3c1ebc39bae45577464d2dde99efdc..e4e777b75f990c7a05899f588642f911790c105b 100755
--- a/src/main/java/ui/window/JDialogAvatarTimer.java
+++ b/src/main/java/ui/window/JDialogAvatarTimer.java
@@ -56,11 +56,11 @@ import java.util.LinkedList;
  * @version 1.0 15/07/2010
  * @author Ludovic APVRILLE
  */
-public class JDialogAvatarTimer extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarTimer extends JDialogBase implements ActionListener  {
 
     private LinkedList<String> timers;
 
-    private boolean cancelled = false;
+    private boolean cancelled = true;
     private JPanel panel1, panel2;
 
     // Panel1
@@ -182,14 +182,8 @@ public class JDialogAvatarTimer extends javax.swing.JDialog implements ActionLis
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void	actionPerformed(ActionEvent evt)  {
@@ -211,6 +205,7 @@ public class JDialogAvatarTimer extends javax.swing.JDialog implements ActionLis
     }
 
     public void closeDialog() {
+        cancelled = false;
         dispose();
     }
 
@@ -227,7 +222,6 @@ public class JDialogAvatarTimer extends javax.swing.JDialog implements ActionLis
     }
 
     public void cancelDialog() {
-        cancelled = true;
         dispose();
     }
 }
diff --git a/src/main/java/ui/window/JDialogAvatarTransition.java b/src/main/java/ui/window/JDialogAvatarTransition.java
index c22891266136386a79aba3c9bd1a599d5cb0d1e0..4aaa39d4dd13bae47dd1c95720a3e7c149bda0c5 100755
--- a/src/main/java/ui/window/JDialogAvatarTransition.java
+++ b/src/main/java/ui/window/JDialogAvatarTransition.java
@@ -61,7 +61,7 @@ import java.util.Vector;
    * @version 1.0 12/04/2010
    * @author Ludovic APVRILLE
  */
-public class JDialogAvatarTransition extends javax.swing.JDialog implements ActionListener  {
+public class JDialogAvatarTransition extends JDialog implements ActionListener  {
 
     private Vector<String> actions;
     private String guard, afterMin, afterMax, computeMin, computeMax;
@@ -72,7 +72,7 @@ public class JDialogAvatarTransition extends javax.swing.JDialog implements Acti
     protected String [] filesToInclude;
     protected String [] codeToInclude;
 
-    private boolean cancelled = false;
+    private boolean cancelled = true;
 
     private JPanel panel1;
     private JPanel panel2;
@@ -349,6 +349,8 @@ public class JDialogAvatarTransition extends javax.swing.JDialog implements Acti
         }
         filesToInclude =  Conversion.wrapText(jtaFiles.getText());
         codeToInclude =  Conversion.wrapText(jtaCode.getText());
+
+        cancelled = false;
         dispose();
     }
 
@@ -381,7 +383,6 @@ public class JDialogAvatarTransition extends javax.swing.JDialog implements Acti
     }
 
     public void cancelDialog() {
-        cancelled = true;
         dispose();
     }
 
diff --git a/src/main/java/ui/window/JDialogBUSNode.java b/src/main/java/ui/window/JDialogBUSNode.java
index d6f55d05679411c2fca718f45cd5adad535d1c6f..ab3471fc58717aa60194792628cdcdc5bfe5277a 100755
--- a/src/main/java/ui/window/JDialogBUSNode.java
+++ b/src/main/java/ui/window/JDialogBUSNode.java
@@ -76,7 +76,7 @@ public class JDialogBUSNode extends JDialogBase implements ActionListener  {
 
     /** Creates new form  */
     public JDialogBUSNode(Frame _frame, String _title, TMLArchiBUSNode _node, Vector<String> _refs) {
-        super(_frame, _title);
+        super(_frame, _title, true);
         node = _node;
 		refs= _refs;
         initComponents();
diff --git a/src/main/java/ui/window/JDialogBase.java b/src/main/java/ui/window/JDialogBase.java
index b543158b6fcac4b28cf13417b02398a311b671cc..86d628b2a12fdd81dfcd34e6399b09cdccd4094b 100644
--- a/src/main/java/ui/window/JDialogBase.java
+++ b/src/main/java/ui/window/JDialogBase.java
@@ -18,8 +18,8 @@ import ui.util.IconManager;
 
 public class JDialogBase extends JDialog {
 	
-	protected JDialogBase(Frame _frame, String _title) {
-		super(_frame, _title, true);
+	protected JDialogBase(Frame _frame, String _title, boolean b) {
+		super(_frame, _title, b);
 		getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
         getRootPane().getActionMap().put("close", new AbstractAction() {
         	@Override
@@ -45,7 +45,7 @@ public class JDialogBase extends JDialog {
         closeButton = new JButton("Save and Close", IconManager.imgic25);
         closeButton.addActionListener(al);
         c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
         cancelButton = new JButton("Cancel", IconManager.imgic27);
         cancelButton.addActionListener(al);
         c.add(cancelButton, c0);
diff --git a/src/main/java/ui/window/JDialogBisimulation.java b/src/main/java/ui/window/JDialogBisimulation.java
index 7a0e775131934594e5db4db0751f862f99f996e5..0dddc94a1e760d83ea8a501b5dbc67cdaeaf436f 100755
--- a/src/main/java/ui/window/JDialogBisimulation.java
+++ b/src/main/java/ui/window/JDialogBisimulation.java
@@ -63,7 +63,7 @@ import java.io.File;
  * @version 1.0 12/08/2004
  * @author Ludovic APVRILLE
  */
-public class JDialogBisimulation extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogBisimulation extends JDialog implements ActionListener, Runnable  {
     
     
     private String [] textAlgo = { "Strong bisimulation equivalence [Park-81] (std)", "Strong bisimulation equivalence [Park-81] (fly)",
diff --git a/src/main/java/ui/window/JDialogBisimulationBisimulator.java b/src/main/java/ui/window/JDialogBisimulationBisimulator.java
index 00716dca8b391c068ab47b093607db0061ce732b..23f8f049ece49a67ef20ed9de0bdb04ba0849077 100755
--- a/src/main/java/ui/window/JDialogBisimulationBisimulator.java
+++ b/src/main/java/ui/window/JDialogBisimulationBisimulator.java
@@ -64,7 +64,7 @@ import java.io.File;
 * @version 1.0 28/02/2008
 * @author Ludovic APVRILLE
  */
-public class JDialogBisimulationBisimulator extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogBisimulationBisimulator extends JDialog implements ActionListener, Runnable  {
     
     
     private String [] textAlgo = { "Branching equivalence", 
diff --git a/src/main/java/ui/window/JDialogBridgeNode.java b/src/main/java/ui/window/JDialogBridgeNode.java
index 026c8705d44981ae0e2f91a9e31b97a837351594..653ef1e4db5d9727de28bee9fe93c45691fe70c4 100755
--- a/src/main/java/ui/window/JDialogBridgeNode.java
+++ b/src/main/java/ui/window/JDialogBridgeNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 23/11/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogBridgeNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogBridgeNode extends JDialogBase implements ActionListener  {
 
     private boolean regularClose;
 
@@ -152,14 +152,8 @@ public class JDialogBridgeNode extends javax.swing.JDialog implements ActionList
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogCAMSBlocks.java b/src/main/java/ui/window/JDialogCAMSBlocks.java
index 9ae2084b9ac86042887dee4ccd06a7dcdc109d0d..d5f72aa864d0efb715221d1e76700c53337cfbd4 100755
--- a/src/main/java/ui/window/JDialogCAMSBlocks.java
+++ b/src/main/java/ui/window/JDialogCAMSBlocks.java
@@ -68,14 +68,14 @@ import java.util.LinkedList;
    * @author Côme DEMARIGNY
  */
 
-public class JDialogCAMSBlocks extends javax.swing.JDialog implements ActionListener, ListSelectionListener {
+public class JDialogCAMSBlocks extends JDialog implements ActionListener, ListSelectionListener {
 
     private LinkedList<TAttribute> attributes, attributesPar, forbidden;
     private LinkedList<Boolean> initValues;
     private LinkedList<CAMSSignal> signals, signalsPar;
     private boolean checkKeyword, checkJavaKeyword;
 
-    private boolean cancelled = false;
+    private boolean cancelled = true;
     private boolean regularClose;
 
     protected String [] processCode;
@@ -473,6 +473,7 @@ public class JDialogCAMSBlocks extends javax.swing.JDialog implements ActionList
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
+        
         closeButton = new JButton("Save and Close", IconManager.imgic25);
         //closeButton.setPreferredSize(new Dimension(600, 50));
         closeButton.addActionListener(this);
@@ -755,7 +756,6 @@ public class JDialogCAMSBlocks extends javax.swing.JDialog implements ActionList
     }
 
     public void cancelDialog() {
-        cancelled = true;
         dispose();
     }
 
diff --git a/src/main/java/ui/window/JDialogCAMSConnectingPoint.java b/src/main/java/ui/window/JDialogCAMSConnectingPoint.java
index cb85316df4063c7d07b5a9df519087f3bc304585..31597858a9420e1311086010c5e2f2a73d705aa7 100755
--- a/src/main/java/ui/window/JDialogCAMSConnectingPoint.java
+++ b/src/main/java/ui/window/JDialogCAMSConnectingPoint.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
 * @version 1.0 02/07/2014
 * @author Ludovic APVRILLE
  */
-public class JDialogCAMSConnectingPoint extends javax.swing.JDialog implements ActionListener {
+public class JDialogCAMSConnectingPoint extends JDialogBase implements ActionListener {
 
     private boolean regularClose;
     
@@ -157,14 +157,8 @@ public class JDialogCAMSConnectingPoint extends javax.swing.JDialog implements A
 		c0.gridwidth = 1;
 		c0.gridheight = 1;
 		c0.fill = GridBagConstraints.HORIZONTAL;
-		closeButton = new JButton("Save and Close", IconManager.imgic25);
-		//closeButton.setPreferredSize(new Dimension(600, 50));
-		closeButton.addActionListener(this);
-		c.add(closeButton, c0);
-		c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-		cancelButton = new JButton("Cancel", IconManager.imgic27);
-		cancelButton.addActionListener(this);
-		c.add(cancelButton, c0);
+		
+		initButtons(closeButton, cancelButton, c0, c, this);
 	}
 	
 	public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java
index 08f198ac5762c0c0ff8111b5c461b757dd62c55c..1f424a6eaa35bc12efdf6fb36b2778ec3a085069 100755
--- a/src/main/java/ui/window/JDialogCPUNode.java
+++ b/src/main/java/ui/window/JDialogCPUNode.java
@@ -61,7 +61,7 @@ import java.util.*;
  * @version 1.0 19/09/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogCPUNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogCPUNode extends JDialogBase implements ActionListener  {
     //private static String[] tracemodeTab = {"vcd trace", "VCI logger", "VCI stats"};
 //    private static String[] tracemodeTab = {"VCI logger"};
     private boolean regularClose;
@@ -304,14 +304,8 @@ public class JDialogCPUNode extends javax.swing.JDialog implements ActionListene
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogCancel.java b/src/main/java/ui/window/JDialogCancel.java
index 5ed693c1a3945a96bd924fbc9ed7276f231e17af..011cc6ad653b1b4109b1a22d9c035fa23947e70b 100755
--- a/src/main/java/ui/window/JDialogCancel.java
+++ b/src/main/java/ui/window/JDialogCancel.java
@@ -56,7 +56,7 @@ import java.awt.event.ActionListener;
    * @version 1.0 27/04/2007
    * @author Ludovic APVRILLE
  */
-public class JDialogCancel extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogCancel extends JDialog implements ActionListener, Runnable  {
 
     private static String DEFAULT_WAIT = "Please wait";
 
diff --git a/src/main/java/ui/window/JDialogChannel.java b/src/main/java/ui/window/JDialogChannel.java
index b8c0da61f976e76a2a24903617861f98dfa5975f..4f709d64973a444fafbfd95e71aeb26f1bacd0c0 100755
--- a/src/main/java/ui/window/JDialogChannel.java
+++ b/src/main/java/ui/window/JDialogChannel.java
@@ -58,12 +58,13 @@ import java.util.Vector;
  * @version 1.0 28/20/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogChannel extends javax.swing.JDialog implements ActionListener {
+public class JDialogChannel extends JDialogBase implements ActionListener {
 
     private String name;
     private int type, size, max;
     
     public boolean data;
+    private JButton closeButton, cancelButton;
     
     
     // Panel1
@@ -169,13 +170,8 @@ public class JDialogChannel extends javax.swing.JDialog implements ActionListene
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogCode.java b/src/main/java/ui/window/JDialogCode.java
index 9b20214194193891a7e0b836cf9e0e4332ecc5ca..7ae4382f0705ad7fe72d99cc4cc11f880181f007 100755
--- a/src/main/java/ui/window/JDialogCode.java
+++ b/src/main/java/ui/window/JDialogCode.java
@@ -56,7 +56,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 20/04/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogCode extends javax.swing.JDialog implements ActionListener {
+public class JDialogCode extends JDialogBase implements ActionListener {
     
     protected String pretext, posttext;
     
diff --git a/src/main/java/ui/window/JDialogCommPatternMapping.java b/src/main/java/ui/window/JDialogCommPatternMapping.java
index dc4ecb516dc521ef8c56126fad6b65b2df3f21d4..f3f546d297dbc883f354c5ebc70e9fb1a0d8b202 100644
--- a/src/main/java/ui/window/JDialogCommPatternMapping.java
+++ b/src/main/java/ui/window/JDialogCommPatternMapping.java
@@ -111,7 +111,7 @@ public class JDialogCommPatternMapping extends JDialog /* implements ActionListe
 	private boolean emptyCPsList = false;
 	private boolean emptyListOfMappedUnits = true;	//true if there is no mapping info
 	
-	private boolean cancelled = false;
+	private boolean cancelled = true;
 	
 	// Panel1
 	private JPanel pnlComPatternStruct;
@@ -1464,8 +1464,6 @@ public class JDialogCommPatternMapping extends JDialog /* implements ActionListe
 	}
 	
 	public void cancelDialog() {
-		cancelled = true;
-		
 		dispose();
 	}
 	
diff --git a/src/main/java/ui/window/JDialogCommunicationArtifact.java b/src/main/java/ui/window/JDialogCommunicationArtifact.java
index a09eee62ca05fb344e8ba3f41978c84ee66e83f3..e82ba83962eb7e601b5ba1d7df9056e77c965adb 100755
--- a/src/main/java/ui/window/JDialogCommunicationArtifact.java
+++ b/src/main/java/ui/window/JDialogCommunicationArtifact.java
@@ -62,7 +62,7 @@ import java.util.Vector;
  * @version 1.0 19/09/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogCommunicationArtifact extends javax.swing.JDialog implements ActionListener  {
+public class JDialogCommunicationArtifact extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
 	private boolean emptyList = false;
@@ -179,14 +179,8 @@ public class JDialogCommunicationArtifact extends javax.swing.JDialog implements
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogConstraint.java b/src/main/java/ui/window/JDialogConstraint.java
index 28876869b9f46554bb0041b57c0293bc6775855d..b6dd043aca66318b5e1fb50dcf083ceb91cf425b 100755
--- a/src/main/java/ui/window/JDialogConstraint.java
+++ b/src/main/java/ui/window/JDialogConstraint.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 11/12/2009
  * @author Ludovic APVRILLE
  */
-public class JDialogConstraint extends javax.swing.JDialog implements ActionListener  {
+public class JDialogConstraint extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -136,14 +136,8 @@ public class JDialogConstraint extends javax.swing.JDialog implements ActionList
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogConstraintText.java b/src/main/java/ui/window/JDialogConstraintText.java
index 676125008a899ac26a1aa960741f3576e5f76147..398be3cebb466db7e57964ae45df7de879be1e20 100755
--- a/src/main/java/ui/window/JDialogConstraintText.java
+++ b/src/main/java/ui/window/JDialogConstraintText.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 21/02/2014
  * @author Ludovic APVRILLE
  */
-public class JDialogConstraintText extends javax.swing.JDialog implements ActionListener  {
+public class JDialogConstraintText extends JDialogBase implements ActionListener  {
 
     private boolean regularClose;
 
@@ -146,14 +146,8 @@ public class JDialogConstraintText extends javax.swing.JDialog implements Action
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogCountermeasure.java b/src/main/java/ui/window/JDialogCountermeasure.java
index aa376d8a5fe1921723d110e54181b91adde264fe..abd03cfa6d7eb1bd2d3ed34b84bc07283035048c 100755
--- a/src/main/java/ui/window/JDialogCountermeasure.java
+++ b/src/main/java/ui/window/JDialogCountermeasure.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 07/06/2017
  * @author Ludovic APVRILLE
  */
-public class JDialogCountermeasure extends javax.swing.JDialog implements ActionListener  {
+public class JDialogCountermeasure extends JDialogBase implements ActionListener  {
 
     private boolean regularClose;
 
@@ -137,14 +137,8 @@ public class JDialogCountermeasure extends javax.swing.JDialog implements Action
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogCrossbarNode.java b/src/main/java/ui/window/JDialogCrossbarNode.java
index a26500d739b37ae86ee38a7f253a3a8eefceb96f..61e702680ac20ae87cd37eeac6ec50c313b6469a 100755
--- a/src/main/java/ui/window/JDialogCrossbarNode.java
+++ b/src/main/java/ui/window/JDialogCrossbarNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 31/10/2007
  * @author Ludovic APVRILLE adapted by Daniela Genius 10.08.2016
  */
-public class JDialogCrossbarNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogCrossbarNode extends JDialogBase implements ActionListener  {
 
     private boolean regularClose;
 
@@ -187,14 +187,8 @@ public class JDialogCrossbarNode extends javax.swing.JDialog implements ActionLi
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogCryptographicConfiguration.java b/src/main/java/ui/window/JDialogCryptographicConfiguration.java
index 4f134e6ce6f94b09e71a63b0063606009096be6d..13bead214a6a15ca0ac1f09e99e1e121d679d02f 100644
--- a/src/main/java/ui/window/JDialogCryptographicConfiguration.java
+++ b/src/main/java/ui/window/JDialogCryptographicConfiguration.java
@@ -57,7 +57,7 @@ import java.util.HashMap;
  * @version 1.0 15/6/2016
  * @author Letitia LI
  */
-public class JDialogCryptographicConfiguration extends javax.swing.JDialog implements ActionListener  {
+public class JDialogCryptographicConfiguration extends JDialogBase implements ActionListener  {
 
     private String [] values;
 
@@ -136,14 +136,8 @@ public class JDialogCryptographicConfiguration extends javax.swing.JDialog imple
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogDMANode.java b/src/main/java/ui/window/JDialogDMANode.java
index 443ee55e72fc4de40b2002d4a294d9667e9d5113..58df5ebcc16f48f9097a7bb09b4a19124a4dc06f 100644
--- a/src/main/java/ui/window/JDialogDMANode.java
+++ b/src/main/java/ui/window/JDialogDMANode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 26/09/2011
  * @author Ludovic APVRILLE
  */
-public class JDialogDMANode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogDMANode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -159,14 +159,8 @@ public class JDialogDMANode extends javax.swing.JDialog implements ActionListene
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogDSE.java b/src/main/java/ui/window/JDialogDSE.java
index 8444cdc0721ddaba52d85924a61ccb6b9f601e82..321506d7c7e6680e2f36703031aadf705e05a4ec 100644
--- a/src/main/java/ui/window/JDialogDSE.java
+++ b/src/main/java/ui/window/JDialogDSE.java
@@ -67,7 +67,7 @@ import java.util.*;
  * @version 1.1 10/09/2010
  * @author Ludovic APVRILLE
  */
-public class JDialogDSE extends javax.swing.JDialog implements ActionListener, ListSelectionListener, Runnable  {
+public class JDialogDSE extends JDialog implements ActionListener, ListSelectionListener, Runnable  {
 
     protected MainGUI mgui;
 
diff --git a/src/main/java/ui/window/JDialogERB.java b/src/main/java/ui/window/JDialogERB.java
index f3149dcc7c2dd352f8f7a4d9c2ea77c9087244bd..50b525795433413dbc9291845a11cb264139dd0f 100644
--- a/src/main/java/ui/window/JDialogERB.java
+++ b/src/main/java/ui/window/JDialogERB.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 10/09/2009
  * @author Ludovic APVRILLE
  */
-public class JDialogERB extends javax.swing.JDialog implements ActionListener  {
+public class JDialogERB extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -144,17 +144,10 @@ public class JDialogERB extends javax.swing.JDialog implements ActionListener  {
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 	
-	
     public void	actionPerformed(ActionEvent evt)  {
        /* if (evt.getSource() == typeBox) {
             boolean b = ((Boolean)(initValues.elementAt(typeBox.getSelectedIndex()))).booleanValue();
diff --git a/src/main/java/ui/window/JDialogESO.java b/src/main/java/ui/window/JDialogESO.java
index 49438fe9498ff743c731947fade8d8dab73775eb..d5ee9557442e4a89ba4ad47c502d8bddedb7f390 100644
--- a/src/main/java/ui/window/JDialogESO.java
+++ b/src/main/java/ui/window/JDialogESO.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 10/09/2009
  * @author Ludovic APVRILLE
  */
-public class JDialogESO extends javax.swing.JDialog implements ActionListener  {
+public class JDialogESO extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -169,14 +169,8 @@ public class JDialogESO extends javax.swing.JDialog implements ActionListener  {
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 	
 	private void checkMode() {
diff --git a/src/main/java/ui/window/JDialogEventArtifact.java b/src/main/java/ui/window/JDialogEventArtifact.java
index 23bd702d0e2982a5df759e030f31b31a44e0fa32..ed42987deb8a676ecc37c55ceb3bbbb4cf7cb694 100755
--- a/src/main/java/ui/window/JDialogEventArtifact.java
+++ b/src/main/java/ui/window/JDialogEventArtifact.java
@@ -60,11 +60,13 @@ import java.util.Vector;
  * @version 1.0 27/05/2014
  * @author Andrea ENRICI, Ludovic APVRILLE
  */
-public class JDialogEventArtifact extends javax.swing.JDialog implements ActionListener  {
+public class JDialogEventArtifact extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
 	private boolean emptyList = false;
 
+	private JButton closeButton, cancelButton;
+	
     private TMLArchiEventArtifact artifact;
     
 	private JComboBox<String> referenceCommunicationName, priority;
@@ -169,14 +171,8 @@ public class JDialogEventArtifact extends javax.swing.JDialog implements ActionL
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogFirewallNode.java b/src/main/java/ui/window/JDialogFirewallNode.java
index 4472c2cc81536799c91d70a27f61612d0861f429..6d958d05c531ccef5736afce119c2aae60f62c80 100644
--- a/src/main/java/ui/window/JDialogFirewallNode.java
+++ b/src/main/java/ui/window/JDialogFirewallNode.java
@@ -61,11 +61,12 @@ import java.util.Vector;
  * @version 1.0 17/10/2007
  * @author Letitia Li
  */
-public class JDialogFirewallNode extends javax.swing.JDialog implements ActionListener,ListSelectionListener  {
+public class JDialogFirewallNode extends JDialogBase implements ActionListener,ListSelectionListener  {
     
     private boolean regularClose;
 
     private TMLArchiFirewallNode node;
+    private JButton cancelButton, closeButton;
     
 	
     // Panel1
@@ -185,14 +186,8 @@ public class JDialogFirewallNode extends javax.swing.JDialog implements ActionLi
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogFormalValidation.java b/src/main/java/ui/window/JDialogFormalValidation.java
index 06440ba52ec2b6eeb524329be0ccae3875e0c34b..769666731dc0bcab4bc7a3370f8b65f1d46e6f0a 100755
--- a/src/main/java/ui/window/JDialogFormalValidation.java
+++ b/src/main/java/ui/window/JDialogFormalValidation.java
@@ -61,7 +61,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 16/12/2003
  * @author Ludovic APVRILLE
  */
-public class JDialogFormalValidation extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogFormalValidation extends JDialog implements ActionListener, Runnable  {
     private static boolean makeDTAChecked, makeRGChecked, makeRGAutChecked, makeTLSAChecked = false;
 	private static boolean fromDTASelected, onTheFlySelected, autFromDTASelected, autOnTheFlySelected = false;
 	
diff --git a/src/main/java/ui/window/JDialogGenAUT.java b/src/main/java/ui/window/JDialogGenAUT.java
index 5531faec0ac8272c9954b5301b9d2585ade93d59..5ec828e8adcf4a388397373f85c687daee97cb66 100755
--- a/src/main/java/ui/window/JDialogGenAUT.java
+++ b/src/main/java/ui/window/JDialogGenAUT.java
@@ -63,7 +63,7 @@ import java.util.List;
  * @version 1.0 24/03/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogGenAUT extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogGenAUT extends JDialog implements ActionListener, Runnable  {
     
     private static String path = "";
     
diff --git a/src/main/java/ui/window/JDialogGenAUTS.java b/src/main/java/ui/window/JDialogGenAUTS.java
index 04c45f945a3f75d043e27f2db83afb2ddb0a2b62..4a73ab84a6367444ec415eff6b4fb6bfc85c2f09 100755
--- a/src/main/java/ui/window/JDialogGenAUTS.java
+++ b/src/main/java/ui/window/JDialogGenAUTS.java
@@ -63,7 +63,7 @@ import java.util.Iterator;
  * @version 1.0 20/10/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogGenAUTS extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogGenAUTS extends JDialog implements ActionListener, Runnable  {
     
     private static String path = "";
     private static boolean fc2Checked = false;
diff --git a/src/main/java/ui/window/JDialogGraphModification.java b/src/main/java/ui/window/JDialogGraphModification.java
index 5ab7441597949240b4c2c860af438e21ee65d2ee..39233674b68faa45843b30255f7f3472b8ec5b1f 100755
--- a/src/main/java/ui/window/JDialogGraphModification.java
+++ b/src/main/java/ui/window/JDialogGraphModification.java
@@ -63,7 +63,7 @@ import java.awt.event.ActionListener;
    * @version 1.0 06/03/2008
    * @author Ludovic APVRILLE
  */
-public class JDialogGraphModification extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogGraphModification extends JDialog implements ActionListener, Runnable  {
 
     private String [] textAlgo = { "After mapping modification"};
 
diff --git a/src/main/java/ui/window/JDialogHwANode.java b/src/main/java/ui/window/JDialogHwANode.java
index 63e2cca723882fbff22f5b75ebd1abe9435b64a4..35c8254f3b30ba4a5749cb80b9e81204a4c0c693 100755
--- a/src/main/java/ui/window/JDialogHwANode.java
+++ b/src/main/java/ui/window/JDialogHwANode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 23/11/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogHwANode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogHwANode extends JDialogBase implements ActionListener  {
 
     private boolean regularClose;
 
@@ -159,14 +159,8 @@ public class JDialogHwANode extends javax.swing.JDialog implements ActionListene
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogInvariantAnalysis.java b/src/main/java/ui/window/JDialogInvariantAnalysis.java
index 6f225c5649d22b95b15b54352f5933cd4189d350..620075ded37f5c7be1608024e0f7dc46002d9c59 100644
--- a/src/main/java/ui/window/JDialogInvariantAnalysis.java
+++ b/src/main/java/ui/window/JDialogInvariantAnalysis.java
@@ -67,7 +67,7 @@ import java.util.BitSet;
 * @version 1.0 09/01/2012
 * @author Ludovic APVRILLE
  */
-public class JDialogInvariantAnalysis extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogInvariantAnalysis extends JDialog implements ActionListener, Runnable  {
     
 	private static boolean IGNORE = true;
 	private static boolean ALL_MUTEX = true;
diff --git a/src/main/java/ui/window/JDialogJavaGeneration.java b/src/main/java/ui/window/JDialogJavaGeneration.java
index 2b01f2b2cbe7c9a1ffc35523081d68ae2fdbba24..4a7891cc364cc9304e42ead8c9f6016d05ba95b5 100755
--- a/src/main/java/ui/window/JDialogJavaGeneration.java
+++ b/src/main/java/ui/window/JDialogJavaGeneration.java
@@ -62,7 +62,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 16/05/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogJavaGeneration extends javax.swing.JDialog implements ActionListener, Runnable, MasterProcessInterface  {
+public class JDialogJavaGeneration extends JDialog implements ActionListener, Runnable, MasterProcessInterface  {
     
     protected MainGUI mgui;
     
diff --git a/src/main/java/ui/window/JDialogJavaSimulation.java b/src/main/java/ui/window/JDialogJavaSimulation.java
index 30a59ce189ceac38baded08867bf6bc42c902401..206d69667bc4245735fc5febb55d29a411d072b2 100755
--- a/src/main/java/ui/window/JDialogJavaSimulation.java
+++ b/src/main/java/ui/window/JDialogJavaSimulation.java
@@ -62,7 +62,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 19/06/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogJavaSimulation extends javax.swing.JDialog implements ActionListener, Runnable, MasterProcessInterface  {
+public class JDialogJavaSimulation extends JDialog implements ActionListener, Runnable, MasterProcessInterface  {
     
     protected MainGUI mgui;
     
diff --git a/src/main/java/ui/window/JDialogLOTOSAnalysis.java b/src/main/java/ui/window/JDialogLOTOSAnalysis.java
index 16f2b044786cef762d9a9de5ae50661148afc988..bf19a3fb8064a6fb2af7c031ba204ee0ae621967 100755
--- a/src/main/java/ui/window/JDialogLOTOSAnalysis.java
+++ b/src/main/java/ui/window/JDialogLOTOSAnalysis.java
@@ -60,7 +60,7 @@
    * @version 1.0 10/03/2006
    * @author Ludovic APVRILLE
  */
-  public class JDialogLOTOSAnalysis extends javax.swing.JDialog implements ActionListener, Runnable  {
+  public class JDialogLOTOSAnalysis extends JDialog implements ActionListener, Runnable  {
       private static boolean warningChecked = false;
       
       protected MainGUI mgui;
diff --git a/src/main/java/ui/window/JDialogLOTOSValidation.java b/src/main/java/ui/window/JDialogLOTOSValidation.java
index b8426389da99686d37cb16db34fc90d4831edfaa..afc146ca0c496f3dba4cbecfd7a80b7515f0f4a3 100755
--- a/src/main/java/ui/window/JDialogLOTOSValidation.java
+++ b/src/main/java/ui/window/JDialogLOTOSValidation.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
 * @version 1.0 10/03/2006
 * @author Ludovic APVRILLE
  */
-public class JDialogLOTOSValidation extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogLOTOSValidation extends JDialog implements ActionListener, Runnable  {
 	private static boolean verboseChecked, monitorChecked, safetyChecked, gradualChecked, v3v4Checked, fc2Checked, distributorChecked, autChecked = true, dotChecked=true, bcgChecked = false;
 	private static int max = 5000000;
 	
diff --git a/src/main/java/ui/window/JDialogLinkNCNode.java b/src/main/java/ui/window/JDialogLinkNCNode.java
index 962c5fed0c9ca431ba2d3739151ef1617549faf5..3c02a6dde9f9cf2d4229658f9912c2fe5f584325 100755
--- a/src/main/java/ui/window/JDialogLinkNCNode.java
+++ b/src/main/java/ui/window/JDialogLinkNCNode.java
@@ -56,7 +56,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 18/11/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogLinkNCNode extends javax.swing.JDialog implements ActionListener {
+public class JDialogLinkNCNode extends JDialogBase implements ActionListener {
 
     private String interfaceName;
     private int capacity;
@@ -66,6 +66,8 @@ public class JDialogLinkNCNode extends javax.swing.JDialog implements ActionList
 	private boolean hasParameter;
 	
 	private boolean data;
+	
+	private JButton closeButton, cancelButton;
     
     
     
@@ -175,13 +177,8 @@ public class JDialogLinkNCNode extends javax.swing.JDialog implements ActionList
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogLinkNode.java b/src/main/java/ui/window/JDialogLinkNode.java
index 1fc6a885cea2e18512712a0f02dd367e69d1f931..03f9007be5f89afa9df13f7e8df6f3f852e6d1e5 100755
--- a/src/main/java/ui/window/JDialogLinkNode.java
+++ b/src/main/java/ui/window/JDialogLinkNode.java
@@ -61,7 +61,7 @@ import java.util.Vector;
  * @version 1.0 09/05/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogLinkNode extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogLinkNode extends JDialog implements ActionListener, ListSelectionListener  {
     
     private String delay, lossRate;
     private int implementation, oport, dport;
@@ -352,6 +352,7 @@ public class JDialogLinkNode extends javax.swing.JDialog implements ActionListen
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
+        
         closeButton = new JButton("Save and Close", IconManager.imgic25);
         //closeButton.setPreferredSize(new Dimension(600, 50));
         closeButton.addActionListener(this);
diff --git a/src/main/java/ui/window/JDialogManageListOfString.java b/src/main/java/ui/window/JDialogManageListOfString.java
index 91886bdb1740b8a585beff829d1a607d6690afda..85e582bab01f379541d7a1ed024213ddb12e38cd 100755
--- a/src/main/java/ui/window/JDialogManageListOfString.java
+++ b/src/main/java/ui/window/JDialogManageListOfString.java
@@ -59,7 +59,7 @@ import java.util.Vector;
    * @version 1.0 28/03/2014
    * @author Ludovic APVRILLE
  */
-public class JDialogManageListOfString extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogManageListOfString extends JDialogBase implements ActionListener, ListSelectionListener  {
 
 
 
@@ -80,7 +80,7 @@ public class JDialogManageListOfString extends javax.swing.JDialog implements Ac
     private JButton closeButton;
     private JButton cancelButton;
 
-    private boolean hasBeenCancelled = false;
+    private boolean hasBeenCancelled = true;
 
     /** Creates new form  */
     public JDialogManageListOfString(Frame f, Vector<String> _ignored, Vector<String> _selected, String title) {
@@ -262,11 +262,11 @@ public class JDialogManageListOfString extends javax.swing.JDialog implements Ac
 
 
     public void closeDialog() {
+        hasBeenCancelled = false;
         dispose();
     }
 
     public void cancelDialog() {
-        hasBeenCancelled = true;
         dispose();
     }
 
diff --git a/src/main/java/ui/window/JDialogMemoryNode.java b/src/main/java/ui/window/JDialogMemoryNode.java
index dfb2d4b7b4605bd9c2d5a320877879a7209c4d44..990995e83c8bdc60de0f84b00245c71dcf76e576 100755
--- a/src/main/java/ui/window/JDialogMemoryNode.java
+++ b/src/main/java/ui/window/JDialogMemoryNode.java
@@ -63,7 +63,7 @@ import java.util.Vector;
  * @version 1.0 23/11/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogMemoryNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogMemoryNode extends JDialogBase implements ActionListener  {
 
     private static String[] tracemodeTab = {"VCI logger", "VCI stats"};
 
@@ -203,14 +203,8 @@ public class JDialogMemoryNode extends javax.swing.JDialog implements ActionList
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogModelChecking.java b/src/main/java/ui/window/JDialogModelChecking.java
index f124a982441fe5ceaa49e4edde2b0b8762ce733a..c69ef84bde3e1bb3b31fdea8b2846db257d9b492 100755
--- a/src/main/java/ui/window/JDialogModelChecking.java
+++ b/src/main/java/ui/window/JDialogModelChecking.java
@@ -61,7 +61,7 @@ import java.util.LinkedList;
    * @version 1.0 13/12/2003
    * @author Ludovic APVRILLE
  */
-public class JDialogModelChecking extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogModelChecking extends JDialogBase implements ActionListener, ListSelectionListener  {
     public static java.util.List<TClassInterface> validated, ignored;
     private static boolean overideSyntaxChecking = false;
 
diff --git a/src/main/java/ui/window/JDialogMultiString.java b/src/main/java/ui/window/JDialogMultiString.java
index 1d549c675b3ac34f5cbda2c1364e28d11f2980cc..fd5d54d6c13a5e842b8a6ed7820fae5a244b5cab 100755
--- a/src/main/java/ui/window/JDialogMultiString.java
+++ b/src/main/java/ui/window/JDialogMultiString.java
@@ -57,7 +57,7 @@ import java.util.HashMap;
    * @version 1.0 18/11/2005
    * @author Ludovic APVRILLE
  */
-public class JDialogMultiString extends javax.swing.JDialog implements ActionListener  {
+public class JDialogMultiString extends JDialogBase implements ActionListener  {
 
     private String [] labels;
     private String [] values;
@@ -194,14 +194,8 @@ public class JDialogMultiString extends javax.swing.JDialog implements ActionLis
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogMultiStringCP.java b/src/main/java/ui/window/JDialogMultiStringCP.java
index 1631dbeab8ce342c0dff63ea34c410cb9e1318e8..737c4e40ecee5e633ab0e2e9e13a1c2262d94d8c 100755
--- a/src/main/java/ui/window/JDialogMultiStringCP.java
+++ b/src/main/java/ui/window/JDialogMultiStringCP.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 18/11/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogMultiStringCP extends javax.swing.JDialog implements ActionListener  {
+public class JDialogMultiStringCP extends JDialogBase implements ActionListener  {
     
     private String [] labels;
     private String [] values;
@@ -152,14 +152,8 @@ public class JDialogMultiStringCP extends javax.swing.JDialog implements ActionL
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogNCEqNode.java b/src/main/java/ui/window/JDialogNCEqNode.java
index 891cbede805fedc63dcf90b391555635624e5616..b7490d0def572a7e656fed9dfabbe237495a6181 100755
--- a/src/main/java/ui/window/JDialogNCEqNode.java
+++ b/src/main/java/ui/window/JDialogNCEqNode.java
@@ -56,13 +56,14 @@ import java.awt.event.ActionListener;
  * @version 1.0 20/10/2009
  * @author Ludovic APVRILLE
  */
-public class JDialogNCEqNode extends javax.swing.JDialog implements ActionListener {
+public class JDialogNCEqNode extends JDialogBase implements ActionListener {
 
     private String eqName;
     private int schedulingPolicy;
 	private int type;
 	
 	private boolean data;
+	private JButton closeButton, cancelButton;
     
     
     // Panel1
@@ -153,13 +154,8 @@ public class JDialogNCEqNode extends javax.swing.JDialog implements ActionListen
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogNCRoute.java b/src/main/java/ui/window/JDialogNCRoute.java
index b9779747b1cdd2ede4326968497d50c9e051a2f1..5345433b5977ce42621040d17fb03d2becc646e5 100755
--- a/src/main/java/ui/window/JDialogNCRoute.java
+++ b/src/main/java/ui/window/JDialogNCRoute.java
@@ -61,13 +61,14 @@ import java.util.Vector;
  * @version 1.0 19/11/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogNCRoute extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogNCRoute extends JDialogBase implements ActionListener, ListSelectionListener  {
     private Vector<NCRoute> routes;
 	private ArrayList<String> inputInterfaces, traffics, outputInterfaces;
 
 	protected String value;
+	protected JButton closeButton, cancelButton;
 	
-	protected boolean hasBeenCancelled;
+	protected boolean hasBeenCancelled = true;
     
     // Panel1
     private JComboBox<String> inputInterfaceBox, trafficBox, outputInterfaceBox;
@@ -272,14 +273,8 @@ public class JDialogNCRoute extends javax.swing.JDialog implements ActionListene
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
@@ -380,11 +375,11 @@ public class JDialogNCRoute extends javax.swing.JDialog implements ActionListene
         //for(int i=0; i<attributes.size(); i++) {
         //    attributesPar.addElement(attributes.elementAt(i));
         //}
+		hasBeenCancelled = false;
         dispose();
     }
     
     public void cancelDialog() {
-		hasBeenCancelled = true;
         dispose();
     }
 	
diff --git a/src/main/java/ui/window/JDialogNCSwitchNode.java b/src/main/java/ui/window/JDialogNCSwitchNode.java
index 67dd19d2d9251c9b8c8f798ac7f93487a15eea0d..28b43d85929fdc5a3f7b7bf0ac1dc3377d6699ac 100755
--- a/src/main/java/ui/window/JDialogNCSwitchNode.java
+++ b/src/main/java/ui/window/JDialogNCSwitchNode.java
@@ -56,7 +56,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 19/11/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogNCSwitchNode extends javax.swing.JDialog implements ActionListener {
+public class JDialogNCSwitchNode extends JDialogBase implements ActionListener {
 
     private String switchName;
     private int schedulingPolicy;
@@ -66,6 +66,7 @@ public class JDialogNCSwitchNode extends javax.swing.JDialog implements ActionLi
 	private int technicalLatency;
 	
 	private boolean data;
+	private JButton cancelButton, closeButton;
     
     
     // Panel1
@@ -184,13 +185,8 @@ public class JDialogNCSwitchNode extends javax.swing.JDialog implements ActionLi
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogNCTraffic.java b/src/main/java/ui/window/JDialogNCTraffic.java
index ea426f1c980d68935a5029d4de51443296cfaa65..2395f87b2ad4cccbe579c8c6157b0e93a252e5ee 100755
--- a/src/main/java/ui/window/JDialogNCTraffic.java
+++ b/src/main/java/ui/window/JDialogNCTraffic.java
@@ -56,12 +56,13 @@ import java.awt.event.ActionListener;
  * @version 1.0 19/11/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogNCTraffic extends javax.swing.JDialog implements ActionListener {
+public class JDialogNCTraffic extends JDialogBase implements ActionListener {
 
     private String value, periodUnit, deadlineUnit;
     private int periodicType, period, deadline, minPacketSize, maxPacketSize, priority;
 	
 	private boolean data;
+	private JButton cancelButton, closeButton;
     
     // Panel1
     private JTextField valueText, periodText, deadlineText, minPacketSizeText, maxPacketSizeText;
@@ -212,13 +213,8 @@ public class JDialogNCTraffic extends javax.swing.JDialog implements ActionListe
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogNote.java b/src/main/java/ui/window/JDialogNote.java
index 4cde5a83a06978c65b666f534135b67213cd82d9..c6b9c8544e89dea24a57eb13efde11f885177691 100755
--- a/src/main/java/ui/window/JDialogNote.java
+++ b/src/main/java/ui/window/JDialogNote.java
@@ -56,7 +56,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 06/12/2003
  * @author Ludovic APVRILLE
  */
-public class JDialogNote extends javax.swing.JDialog implements ActionListener {
+public class JDialogNote extends JDialogBase implements ActionListener {
     
     protected String text;
     
diff --git a/src/main/java/ui/window/JDialogObserver.java b/src/main/java/ui/window/JDialogObserver.java
index 2813da192ac874f905f43dfc88ab267bd4b606e2..59c419bb7c8ae803ed3dafa04ebfb46f0fdbd90f 100755
--- a/src/main/java/ui/window/JDialogObserver.java
+++ b/src/main/java/ui/window/JDialogObserver.java
@@ -56,7 +56,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 02/06/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogObserver extends javax.swing.JDialog implements ActionListener  {
+public class JDialogObserver extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -149,14 +149,8 @@ public class JDialogObserver extends javax.swing.JDialog implements ActionListen
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogParam.java b/src/main/java/ui/window/JDialogParam.java
index bbe71baea7596725c17669250f26706f7b6b1a6e..014f754743385f641b15f4c81f6df7830e5dd758 100755
--- a/src/main/java/ui/window/JDialogParam.java
+++ b/src/main/java/ui/window/JDialogParam.java
@@ -58,12 +58,13 @@ import java.util.Vector;
  * @version 1.0 03/11/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogParam extends javax.swing.JDialog implements ActionListener {
+public class JDialogParam extends JDialogBase implements ActionListener {
 
     private String name;
     private int type1, type2, type3;
     
     public boolean data;
+    private JButton closeButton, cancelButton;
     
     
     // Panel1
@@ -174,13 +175,8 @@ public class JDialogParam extends javax.swing.JDialog implements ActionListener
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogParamFIFO.java b/src/main/java/ui/window/JDialogParamFIFO.java
index 632e5d7d06bed53c9db6926bb81e4ff415dcfb59..cb1f08de9d0590d6d9b4bca2bf374b1585d1ab0d 100755
--- a/src/main/java/ui/window/JDialogParamFIFO.java
+++ b/src/main/java/ui/window/JDialogParamFIFO.java
@@ -58,7 +58,7 @@ import java.util.Vector;
  * @version 1.0 02/11/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogParamFIFO extends javax.swing.JDialog implements ActionListener {
+public class JDialogParamFIFO extends JDialogBase implements ActionListener {
 
     private String name;
     private int type1, type2, type3;
@@ -66,6 +66,7 @@ public class JDialogParamFIFO extends javax.swing.JDialog implements ActionListe
     private String maxInFIFO;
 
     public boolean data;
+    private JButton closeButton, cancelButton;
 
     
     
@@ -224,13 +225,8 @@ public class JDialogParamFIFO extends javax.swing.JDialog implements ActionListe
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogPortArtifact.java b/src/main/java/ui/window/JDialogPortArtifact.java
index 93ceced63b71a3f80a291ff80b31bf320456ff5b..1479e3daf6d11c880b542315f858395c26d033dd 100755
--- a/src/main/java/ui/window/JDialogPortArtifact.java
+++ b/src/main/java/ui/window/JDialogPortArtifact.java
@@ -65,7 +65,7 @@ import java.util.Vector;
  * @version 1.0 19/09/2007
  * @author Ludovic APVRILLE, Andrea ENRICI
  */
-public class JDialogPortArtifact extends javax.swing.JDialog implements ActionListener  {
+public class JDialogPortArtifact extends JDialogBase implements ActionListener  {
     
 	private boolean regularClose;
 	private boolean emptyPortsList = false;
@@ -215,14 +215,8 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi
 		c0.gridwidth = 1;
 		c0.gridheight = 1;
 		c0.fill = GridBagConstraints.HORIZONTAL;
-		closeButton = new JButton("Save and Close", IconManager.imgic25);
-		//closeButton.setPreferredSize(new Dimension(600, 50));
-		closeButton.addActionListener(this);
-		c.add(closeButton, c0);
-		c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-		cancelButton = new JButton("Cancel", IconManager.imgic27);
-		cancelButton.addActionListener(this);
-		c.add(cancelButton, c0);
+		
+		initButtons(closeButton, cancelButton, c0, c, this);
   }
 
 	private String getBufferTypeFromSelectedMemory( String mappedMemory )	{
diff --git a/src/main/java/ui/window/JDialogPragma.java b/src/main/java/ui/window/JDialogPragma.java
index f38ba86ea0a3eb9fdc39ee4f9a76c18172ce4a78..9460a2d0d9dafbe186dbf7f6f344d1bbb0b0f250 100755
--- a/src/main/java/ui/window/JDialogPragma.java
+++ b/src/main/java/ui/window/JDialogPragma.java
@@ -59,7 +59,7 @@ import java.util.regex.Pattern;
  * @version 1.0 06/12/2003
  * @author Ludovic APVRILLE, Letitia LI
  */
-public class JDialogPragma extends javax.swing.JDialog implements ActionListener {
+public class JDialogPragma extends JDialogBase implements ActionListener {
     
     protected String text;
     
diff --git a/src/main/java/ui/window/JDialogProjection.java b/src/main/java/ui/window/JDialogProjection.java
index 4e9a2eac90660eb4cdaab1280812d56896ee614f..2392b1fa40ad6641d5d0ac1d1f72dc4ea2ca5818 100755
--- a/src/main/java/ui/window/JDialogProjection.java
+++ b/src/main/java/ui/window/JDialogProjection.java
@@ -68,7 +68,7 @@ import java.util.Vector;
  * @version 1.0 30/06/2004
  * @author Ludovic APVRILLE
  */
-public class JDialogProjection extends javax.swing.JDialog implements ActionListener, ListSelectionListener, Runnable  {
+public class JDialogProjection extends JDialog implements ActionListener, ListSelectionListener, Runnable  {
     private static boolean isAldebaranSelected = false;
     private static boolean isOminSelected = false;
     private static boolean isStrongSelected = true;
diff --git a/src/main/java/ui/window/JDialogProverifVerification.java b/src/main/java/ui/window/JDialogProverifVerification.java
index af22908dbcfcfc888df05c639bf757bd91002db9..7b950da9452b121f345f408e6b8375ca7175b7d9 100644
--- a/src/main/java/ui/window/JDialogProverifVerification.java
+++ b/src/main/java/ui/window/JDialogProverifVerification.java
@@ -82,7 +82,7 @@ import java.util.*;
  * @author Ludovic APVRILLE
  */
 
-public class JDialogProverifVerification extends javax.swing.JDialog implements ActionListener, ListSelectionListener, MouseListener, Runnable, MasterProcessInterface, ProVerifOutputListener {
+public class JDialogProverifVerification extends JDialog implements ActionListener, ListSelectionListener, MouseListener, Runnable, MasterProcessInterface, ProVerifOutputListener {
 
     private static final Insets insets = new Insets(0, 0, 0, 0);
     private static final Insets WEST_INSETS = new Insets(0, 0, 0, 0);
diff --git a/src/main/java/ui/window/JDialogReducedAttribute.java b/src/main/java/ui/window/JDialogReducedAttribute.java
index be39a713402b2bb6303f264d85664f910eac99ea..4b443a6fe580633e5ad1fe7c0264e7f90168fba9 100755
--- a/src/main/java/ui/window/JDialogReducedAttribute.java
+++ b/src/main/java/ui/window/JDialogReducedAttribute.java
@@ -59,7 +59,7 @@ import java.util.LinkedList;
  * @version 1.0 11/05/2004
  * @author Ludovic APVRILLE
  */
-public class JDialogReducedAttribute extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogReducedAttribute extends JDialogBase implements ActionListener, ListSelectionListener  {
     private java.util.List<TAttribute> attributesPar, setList, unsetList, tclassAttributes;
     
     private JPanel panel1, panel2;
@@ -237,14 +237,8 @@ public class JDialogReducedAttribute extends javax.swing.JDialog implements Acti
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogRequirement.java b/src/main/java/ui/window/JDialogRequirement.java
index b1204d281a982b8260bd4c3f6887f0a3456d541c..958a74e2658708cb13a90f352bd2f5273e94c562 100755
--- a/src/main/java/ui/window/JDialogRequirement.java
+++ b/src/main/java/ui/window/JDialogRequirement.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 31/05/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogRequirement extends javax.swing.JDialog implements ActionListener  {
+public class JDialogRequirement extends JDialogBase implements ActionListener  {
     
     public static String[] kinds = {"Functional", "Non-functional", "Performance", "Privacy", "Confidentiality", "Non-repudiation", "Controlled access (authorization)", "Availability", "Immunity", "Integrity", "Data origin authenticity", "Freshness", "Business", "Stakeholder need", "Other"};
     
@@ -294,14 +294,8 @@ public class JDialogRequirement extends javax.swing.JDialog implements ActionLis
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogRequirementTable.java b/src/main/java/ui/window/JDialogRequirementTable.java
index 28a6041e4f0f5fb7b370d8a2d90469646e08957c..3de48989926c8e16c94c444ae58eb10bdaa16607 100755
--- a/src/main/java/ui/window/JDialogRequirementTable.java
+++ b/src/main/java/ui/window/JDialogRequirementTable.java
@@ -57,7 +57,7 @@ import java.util.ArrayList;
  * @version 1.0 19/02/2009
  * @author Ludovic APVRILLE
  */
-public class JDialogRequirementTable extends javax.swing.JDialog implements ActionListener {
+public class JDialogRequirementTable extends JDialogBase implements ActionListener {
 
     static String[] items = {"none", "ID", "Name", "Type", "Description", "Kind", "Criticality", "Violated action", "Targetted attacks", "Satisfied", "Reference elements"};
     private static String[] sizes = {"0", "50", "100", "150", "200", "250", "300", "350", "400", "450", "500"};
@@ -65,6 +65,7 @@ public class JDialogRequirementTable extends javax.swing.JDialog implements Acti
 	private int nbColumn = 10;
     private static int[] selectedItems = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 	private static int[] selectedSizes = {1, 3, 2, 6, 2, 2, 2, 2, 1, 2};
+	private JButton cancelButton, closeButton;
 	
     // Panel1
     private ArrayList<JComboBox<String>> itemBoxes, sizeBoxes;
@@ -142,13 +143,8 @@ public class JDialogRequirementTable extends javax.swing.JDialog implements Acti
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogSDInstance.java b/src/main/java/ui/window/JDialogSDInstance.java
index e6387e2a08524dfed233d6b979f1381385c26c02..6234e56e31ca6e73dab0642d42815838b3c99473 100644
--- a/src/main/java/ui/window/JDialogSDInstance.java
+++ b/src/main/java/ui/window/JDialogSDInstance.java
@@ -56,7 +56,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 04/01/2011
  * @author Ludovic APVRILLE, Andrea ENRICI
  */
-public class JDialogSDInstance extends javax.swing.JDialog implements ActionListener {
+public class JDialogSDInstance extends JDialogBase implements ActionListener {
     
     private JPanel panel1;
     private Frame frame;
@@ -145,13 +145,8 @@ public class JDialogSDInstance extends javax.swing.JDialog implements ActionList
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogSMDLibraryFunctionCall.java b/src/main/java/ui/window/JDialogSMDLibraryFunctionCall.java
index 248f5198b173bc666965b8268598b3196aa4256e..560b69940fb86a7b22539f923707aea9ac03f0d3 100644
--- a/src/main/java/ui/window/JDialogSMDLibraryFunctionCall.java
+++ b/src/main/java/ui/window/JDialogSMDLibraryFunctionCall.java
@@ -63,7 +63,7 @@ import java.util.LinkedList;
 * @version 1.0 04.21.2016
 * @author Florian LUGOU
 */
-public class JDialogSMDLibraryFunctionCall extends javax.swing.JDialog implements ActionListener, ListSelectionListener {
+public class JDialogSMDLibraryFunctionCall extends JDialogBase implements ActionListener, ListSelectionListener {
     private AvatarSMDLibraryFunctionCall functionCall;
     
     private AvatarBDLibraryFunction libraryFunction;
@@ -314,15 +314,8 @@ public class JDialogSMDLibraryFunctionCall extends javax.swing.JDialog implement
         gridConstraints.weightx = 1.0;
         gridConstraints.weighty = 1.0;
         gridConstraints.fill = GridBagConstraints.BOTH;
-        this.closeButton = new JButton("Save and Close", IconManager.imgic25);
-        this.closeButton.addActionListener(this);
-        c.add(this.closeButton, gridConstraints);
-
-        // Add Cancel button
-        gridConstraints.gridwidth = GridBagConstraints.REMAINDER; //end row
-        this.cancelButton = new JButton("Cancel", IconManager.imgic27);
-        this.cancelButton.addActionListener(this);
-        c.add(this.cancelButton, gridConstraints);
+        
+        initButtons(closeButton, cancelButton, gridConstraints, c, this);
     }
 
     private void fillParametersComboBox (TAttribute attr) {
diff --git a/src/main/java/ui/window/JDialogSafetyPragma.java b/src/main/java/ui/window/JDialogSafetyPragma.java
index 2ba534e1415476833f4c6bc7a19d2fd97f049777..e795bdc0146d0216fc1539f3556b086c024a019f 100644
--- a/src/main/java/ui/window/JDialogSafetyPragma.java
+++ b/src/main/java/ui/window/JDialogSafetyPragma.java
@@ -57,7 +57,7 @@ import java.util.HashMap;
  * @version 1.0 06/12/2003
  * @author Ludovic APVRILLE, Letitia LI
  */
-public class JDialogSafetyPragma extends javax.swing.JDialog implements ActionListener {
+public class JDialogSafetyPragma extends JDialogBase implements ActionListener {
     
     protected String text;
     
diff --git a/src/main/java/ui/window/JDialogScheduling.java b/src/main/java/ui/window/JDialogScheduling.java
index 2ebc826d85bb96189d6693c85fb7c2a7936708ff..5f0ceb3db4c438b99cc903ebd19af89184220ff8 100755
--- a/src/main/java/ui/window/JDialogScheduling.java
+++ b/src/main/java/ui/window/JDialogScheduling.java
@@ -58,7 +58,7 @@ import java.awt.event.ActionListener;
 * @version 1.0 22/02/2008
 * @author Ludovic APVRILLE
  */
-public class JDialogScheduling extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogScheduling extends JDialog implements ActionListener, Runnable  {
 	
 	private static boolean sampleChecked=false, channelChecked= false, eventChecked = false, requestChecked = false, execChecked = false, busTransferChecked = false, schedulingChecked = false, taskStateChecked = false, channelStateChecked = false, branchingChecked = false, terminateCPUChecked = false, terminateCPUsChecked = true, clockedChecked = false, clockedEndChecked = false, countTickChecked=false, maxCountTickChecked=false, randomTaskChecked = true;
 	private static String tickIntervalValue = "1", maxCountTickValue = "1000";
diff --git a/src/main/java/ui/window/JDialogSelectAvatarBlock.java b/src/main/java/ui/window/JDialogSelectAvatarBlock.java
index 7b72a51748fbd960e1040f6e7d571f6ea2f565da..1fde123ab3ef021f26e8f99d5c45a8f4144c67a4 100755
--- a/src/main/java/ui/window/JDialogSelectAvatarBlock.java
+++ b/src/main/java/ui/window/JDialogSelectAvatarBlock.java
@@ -61,7 +61,7 @@ import java.util.LinkedList;
  * @version 1.0 18/05/2010
  * @author Ludovic APVRILLE
  */
-public class JDialogSelectAvatarBlock extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSelectAvatarBlock extends JDialogBase implements ActionListener, ListSelectionListener  {
     public LinkedList<AvatarBDStateMachineOwner> validated, ignored;
     private boolean optimized = true;
 
@@ -78,7 +78,7 @@ public class JDialogSelectAvatarBlock extends javax.swing.JDialog implements Act
     // Main Panel
     private JButton closeButton;
 
-    private boolean hasBeenCancelled = false;
+    private boolean hasBeenCancelled = true;
 
     /** Creates new form  */
     public JDialogSelectAvatarBlock(Frame f, LinkedList<AvatarBDStateMachineOwner> _back, LinkedList<AvatarBDStateMachineOwner> componentList, String title, LinkedList <AvatarBDStateMachineOwner> _validated, LinkedList <AvatarBDStateMachineOwner> _ignored, boolean _optimized) {
@@ -314,11 +314,12 @@ public class JDialogSelectAvatarBlock extends javax.swing.JDialog implements Act
         validated = val;
         ignored = ign;
         optimized = optimize.isSelected();
+
+        hasBeenCancelled = false;
         dispose();
     }
 
     public void cancelDialog() {
-        hasBeenCancelled = true;
         dispose();
     }
 
diff --git a/src/main/java/ui/window/JDialogSelectCPDiagrams.java b/src/main/java/ui/window/JDialogSelectCPDiagrams.java
index 4ce8b6b4b756d00cc73d6c5bf448a19af362a7eb..31aeebe087fe7a8f47da59c5981398140d064d91 100755
--- a/src/main/java/ui/window/JDialogSelectCPDiagrams.java
+++ b/src/main/java/ui/window/JDialogSelectCPDiagrams.java
@@ -66,7 +66,7 @@ import java.util.Vector;
    * @version 1.0 02/06/2014
    * @author Ludovic APVRILLE, Andrea ENRICI
  */
-public class JDialogSelectCPDiagrams extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSelectCPDiagrams extends JDialogBase implements ActionListener, ListSelectionListener  {
 
     public static Vector<TGComponent> validated, ignored;
     private static boolean optimized = true;
diff --git a/src/main/java/ui/window/JDialogSelectRequirements.java b/src/main/java/ui/window/JDialogSelectRequirements.java
index 09ee0904fed6cf07fdc5487251b8467dd802a098..e178e22eac99b44c12fc7e62efb132be0fb4ce3f 100755
--- a/src/main/java/ui/window/JDialogSelectRequirements.java
+++ b/src/main/java/ui/window/JDialogSelectRequirements.java
@@ -61,7 +61,7 @@ import java.util.Vector;
  * @version 1.0 11/08/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogSelectRequirements extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSelectRequirements extends JDialogBase implements ActionListener, ListSelectionListener  {
     
 	public static Vector<Requirement> validated, ignored;
     
diff --git a/src/main/java/ui/window/JDialogSelectSystemCAMSBlock.java b/src/main/java/ui/window/JDialogSelectSystemCAMSBlock.java
index 2d2a66b1101f2635fb985e84ff86ab0e4435f261..0d15fbf0489a5ebdb6d9dc4ccdf3664e59655178 100755
--- a/src/main/java/ui/window/JDialogSelectSystemCAMSBlock.java
+++ b/src/main/java/ui/window/JDialogSelectSystemCAMSBlock.java
@@ -65,7 +65,7 @@ import java.util.Vector;
    * @version 1.0 04/07/2017
    * @author Côme Demarigny
  */
-public class JDialogSelectSystemCAMSBlock extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSelectSystemCAMSBlock extends JDialogBase implements ActionListener, ListSelectionListener  {
 
     public static Vector<TGComponent> validated, ignored;
     private static boolean optimized = true;
diff --git a/src/main/java/ui/window/JDialogSelectTMLComponent.java b/src/main/java/ui/window/JDialogSelectTMLComponent.java
index 144e44a88251b89d81d5aa2f244f68b09fa94622..b721fe76dcc0bdfd1e9951cf85fe8d6cc4e3827f 100755
--- a/src/main/java/ui/window/JDialogSelectTMLComponent.java
+++ b/src/main/java/ui/window/JDialogSelectTMLComponent.java
@@ -65,7 +65,7 @@ import java.util.Vector;
    * @version 1.0 28/03/2008
    * @author Ludovic APVRILLE
  */
-public class JDialogSelectTMLComponent extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSelectTMLComponent extends JDialogBase implements ActionListener, ListSelectionListener  {
     public static Vector<TGComponent> validated, ignored;
     private static boolean optimized = true;
 
diff --git a/src/main/java/ui/window/JDialogSelectTMLNodes.java b/src/main/java/ui/window/JDialogSelectTMLNodes.java
index 9f138ee89c77c1996afa449448d1b508257233ce..c0973a77162589cf8c5a38d17a99f179d881169e 100755
--- a/src/main/java/ui/window/JDialogSelectTMLNodes.java
+++ b/src/main/java/ui/window/JDialogSelectTMLNodes.java
@@ -61,7 +61,7 @@ import java.util.Vector;
    * @version 1.0 19/09/2007
    * @author Ludovic APVRILLE
  */
-public class JDialogSelectTMLNodes extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSelectTMLNodes extends JDialogBase implements ActionListener, ListSelectionListener  {
     public static Vector<TGComponent> validated, ignored;
     private static boolean optimized = true;
 
diff --git a/src/main/java/ui/window/JDialogSelectTMLTask.java b/src/main/java/ui/window/JDialogSelectTMLTask.java
index 59b711c8c0951e8288e8733a107130626620e722..ed8f631d90b08bd458dcfb3b9e084f59c867cb81 100755
--- a/src/main/java/ui/window/JDialogSelectTMLTask.java
+++ b/src/main/java/ui/window/JDialogSelectTMLTask.java
@@ -61,7 +61,7 @@ import java.util.Vector;
  * @version 1.0 21/03/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogSelectTMLTask extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSelectTMLTask extends JDialogBase implements ActionListener, ListSelectionListener  {
     public static Vector<TGComponent> validated, ignored;
 	private static boolean optimized = true;
     
diff --git a/src/main/java/ui/window/JDialogSignalAssociation.java b/src/main/java/ui/window/JDialogSignalAssociation.java
index e7005071689d9d14d8b0474cd91457313ac43e50..eacbb7d6ca78bce1e93c8b13aeba0c3fa4c9d3b9 100644
--- a/src/main/java/ui/window/JDialogSignalAssociation.java
+++ b/src/main/java/ui/window/JDialogSignalAssociation.java
@@ -64,7 +64,7 @@ import java.util.Vector;
    * @version 1.0 09/04/2010
    * @author Ludovic APVRILLE
  */
-public class JDialogSignalAssociation extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSignalAssociation extends JDialogBase implements ActionListener, ListSelectionListener  {
     private Vector<String> signalAssociation, localSignalAssociations;
     private AvatarBDBlock block1, block2;
     private LinkedList<AvatarSignal> available1, available2;
@@ -76,7 +76,7 @@ public class JDialogSignalAssociation extends javax.swing.JDialog implements Act
     private JCheckBox blocking, isPrivate, isBroadcast, isLossy;
     private JPanel panel1, panel2, panel3, panel4;
 
-    private boolean cancelled = false;
+    private boolean cancelled = true;
 
     // Panel1
     private JComboBox<String> signalsBlock1, signalsBlock2;
@@ -306,14 +306,8 @@ public class JDialogSignalAssociation extends javax.swing.JDialog implements Act
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.VERTICAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
 
         /*JPanel panelButton = new JPanel();
           closeButton = new JButton("Save and Close", IconManager.imgic25);
@@ -464,11 +458,12 @@ public class JDialogSignalAssociation extends javax.swing.JDialog implements Act
     public void closeDialog() {
         signalAssociation.removeAllElements();
         signalAssociation.addAll(localSignalAssociations);
+
+        cancelled = false;
         dispose();
     }
 
     public void cancelDialog() {
-        cancelled = true;
         dispose();
     }
 
diff --git a/src/main/java/ui/window/JDialogSimulation.java b/src/main/java/ui/window/JDialogSimulation.java
index 847c3c84a1431c503b610c66cc649836aeef70fc..9f3a8b88d7956d53eb514a7f010d01a8718bb05a 100755
--- a/src/main/java/ui/window/JDialogSimulation.java
+++ b/src/main/java/ui/window/JDialogSimulation.java
@@ -61,7 +61,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 13/12/2003
  * @author Ludovic APVRILLE
  */
-public class JDialogSimulation extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogSimulation extends JDialog implements ActionListener, Runnable  {
     
     private static String simulationTime = "";
     
diff --git a/src/main/java/ui/window/JDialogSynchro.java b/src/main/java/ui/window/JDialogSynchro.java
index fd438c815f7dfe2e1272b02ddc76c8ec8589f71b..e13583a4f29faaeabb72ba48be61cbc6655b82aa 100755
--- a/src/main/java/ui/window/JDialogSynchro.java
+++ b/src/main/java/ui/window/JDialogSynchro.java
@@ -63,7 +63,7 @@ import java.util.LinkedList;
  * @version 1.0 13/12/2003
  * @author Ludovic APVRILLE
  */
-public class JDialogSynchro extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public class JDialogSynchro extends JDialogBase implements ActionListener, ListSelectionListener  {
     private java.util.List<TAttribute> gatesOfT1, gatesOfT2;
     private java.util.List<TTwoAttributes> synchro, newSynchro;
     private TClassSynchroInterface t1, t2;
@@ -270,14 +270,8 @@ public class JDialogSynchro extends javax.swing.JDialog implements ActionListene
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogTMLADRandom.java b/src/main/java/ui/window/JDialogTMLADRandom.java
index 22392c32213c275916367e5fd3a0d30a0bad5a74..cc5163ff26297f6cbd081cff9d3e0f020a99e416 100755
--- a/src/main/java/ui/window/JDialogTMLADRandom.java
+++ b/src/main/java/ui/window/JDialogTMLADRandom.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 10/06/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogTMLADRandom extends javax.swing.JDialog implements ActionListener  {
+public class JDialogTMLADRandom extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -160,14 +160,8 @@ public class JDialogTMLADRandom extends javax.swing.JDialog implements ActionLis
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogTMLCompositePort.java b/src/main/java/ui/window/JDialogTMLCompositePort.java
index 764c805faedefb5734c5a40dfe84af7c560c37f2..c811cce18b134e7175ea2ff2d26be2414f7c1e77 100755
--- a/src/main/java/ui/window/JDialogTMLCompositePort.java
+++ b/src/main/java/ui/window/JDialogTMLCompositePort.java
@@ -60,7 +60,7 @@ import java.util.Vector;
  * @author Ludovic APVRILLE
  */
 
-public class JDialogTMLCompositePort extends JDialog implements ActionListener {
+public class JDialogTMLCompositePort extends JDialogBase implements ActionListener {
 
 	private JPanel panel3;
 	private Frame frame;
@@ -79,6 +79,7 @@ public class JDialogTMLCompositePort extends JDialog implements ActionListener {
     public boolean data;
     public boolean checkConf;
     public boolean checkAuth;
+    private JButton closeButton, cancelButton;
     // Panel1
     private JTextField nameText, maxText, widthText, associatedEventJT;
     private JComboBox<String> typePort, typeList1, typeList2, typeList3, typeList4, typeList5;
@@ -558,13 +559,8 @@ public class JDialogTMLCompositePort extends JDialog implements ActionListener {
         
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-		JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
 		repaint();
     }
     
diff --git a/src/main/java/ui/window/JDialogTMLConnectorNode.java b/src/main/java/ui/window/JDialogTMLConnectorNode.java
index c5bd73677da8b7edc33caea7670a698f2626b2fb..6ac040655d95a865669b8a82c4a2f010815214a0 100755
--- a/src/main/java/ui/window/JDialogTMLConnectorNode.java
+++ b/src/main/java/ui/window/JDialogTMLConnectorNode.java
@@ -60,7 +60,7 @@ import java.util.Vector;
  * @version 1.0 22/11/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogTMLConnectorNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogTMLConnectorNode extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -145,14 +145,8 @@ public class JDialogTMLConnectorNode extends javax.swing.JDialog implements Acti
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogTMLRemoteCompositeComponent.java b/src/main/java/ui/window/JDialogTMLRemoteCompositeComponent.java
index 886ae05090a51cc55e5f6f9a6e278ccab106a240..648cebe7099a96bfdb956fa5d37d927c56b4b220 100755
--- a/src/main/java/ui/window/JDialogTMLRemoteCompositeComponent.java
+++ b/src/main/java/ui/window/JDialogTMLRemoteCompositeComponent.java
@@ -59,7 +59,7 @@ import java.util.Vector;
  * @version 1.0 12/06/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogTMLRemoteCompositeComponent extends javax.swing.JDialog implements ActionListener  {
+public class JDialogTMLRemoteCompositeComponent extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
 	private boolean emptyList = false;
@@ -67,6 +67,7 @@ public class JDialogTMLRemoteCompositeComponent extends javax.swing.JDialog impl
     private TMLCRemoteCompositeComponent artifact;
     
 	private JComboBox<String> referenceComponentName;
+	private JButton closeButton, cancelButton;
 
     /** Creates new form  */
     public JDialogTMLRemoteCompositeComponent(Frame _frame, String _title, TMLCRemoteCompositeComponent _artifact) {
@@ -148,14 +149,8 @@ public class JDialogTMLRemoteCompositeComponent extends javax.swing.JDialog impl
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        JButton closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        JButton cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogTMLSDInstance.java b/src/main/java/ui/window/JDialogTMLSDInstance.java
index c7f641238dfb270eeb39721271c3fe66dfbf25e5..23039ee15af604b0249353ca46fc39bd6a4b542e 100755
--- a/src/main/java/ui/window/JDialogTMLSDInstance.java
+++ b/src/main/java/ui/window/JDialogTMLSDInstance.java
@@ -58,7 +58,7 @@ import java.util.LinkedList;
  * @version 1.0 25/07/2014
  * @author Ludovic APVRILLE, Andrea ENRICI
  */
-public abstract class JDialogTMLSDInstance extends javax.swing.JDialog implements ActionListener, ListSelectionListener  {
+public abstract class JDialogTMLSDInstance extends JDialog implements ActionListener, ListSelectionListener  {
 
 	protected static final int DEFAULT_MARGIN_SIZE = 5;
 
diff --git a/src/main/java/ui/window/JDialogTMLTaskArtifact.java b/src/main/java/ui/window/JDialogTMLTaskArtifact.java
index 7ff2344fd9578e8f92a3b4a92d5e44f7809bf468..a343191dcd580ace07481cf05b4f2a0c90bb1851 100755
--- a/src/main/java/ui/window/JDialogTMLTaskArtifact.java
+++ b/src/main/java/ui/window/JDialogTMLTaskArtifact.java
@@ -63,7 +63,7 @@ import java.util.Vector;
  * @version 1.0 19/09/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogTMLTaskArtifact extends javax.swing.JDialog implements ActionListener {
+public class JDialogTMLTaskArtifact extends JDialogBase implements ActionListener {
 
 	private boolean regularClose;
 	private boolean emptyList = false;
@@ -223,14 +223,8 @@ public class JDialogTMLTaskArtifact extends javax.swing.JDialog implements Actio
     	c0.gridwidth = 1;
     	c0.gridheight = 1;
     	c0.fill = GridBagConstraints.HORIZONTAL;
-    	closeButton = new JButton("Save and Close", IconManager.imgic25);
-    	//closeButton.setPreferredSize(new Dimension(600, 50));
-    	closeButton.addActionListener(this);
-    	c.add(closeButton, c0);
-    	c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-    	cancelButton = new JButton("Cancel", IconManager.imgic27);
-    	cancelButton.addActionListener(this);
-    	c.add(cancelButton, c0);
+    	
+    	initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     @Override
diff --git a/src/main/java/ui/window/JDialogTOSClass.java b/src/main/java/ui/window/JDialogTOSClass.java
index 8689d4e0159f5822fbce293b34dee6167ba49bf4..107324a2bf03de61661c05eb3234d1b08fa90b9a 100755
--- a/src/main/java/ui/window/JDialogTOSClass.java
+++ b/src/main/java/ui/window/JDialogTOSClass.java
@@ -57,7 +57,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 04/10/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogTOSClass extends javax.swing.JDialog implements ActionListener {
+public class JDialogTOSClass extends JDialog implements ActionListener {
 
     protected MainGUI mgui;
 
diff --git a/src/main/java/ui/window/JDialogTObjectName.java b/src/main/java/ui/window/JDialogTObjectName.java
index 48d19d4276469d38ad5d9061918eca54645012fa..f00d19eebd4152043caa153d2c3c8550a8951611 100755
--- a/src/main/java/ui/window/JDialogTObjectName.java
+++ b/src/main/java/ui/window/JDialogTObjectName.java
@@ -58,7 +58,7 @@ import java.util.Vector;
  * @version 1.0 10/05/2004
  * @author Ludovic APVRILLE
  */
-public class JDialogTObjectName extends javax.swing.JDialog implements ActionListener {
+public class JDialogTObjectName extends JDialogBase implements ActionListener {
         TCDTObject to;
         Vector<TCDTClass> tclasses;
 	
@@ -166,13 +166,8 @@ public class JDialogTObjectName extends javax.swing.JDialog implements ActionLis
      
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
  
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogTPNValidation.java b/src/main/java/ui/window/JDialogTPNValidation.java
index ee4dcf28c7f6fbb9b0ee2a4e4611d7c58bd67066..66eb741bf47ba0b9a83e2089ad4a02ab92d560d9 100755
--- a/src/main/java/ui/window/JDialogTPNValidation.java
+++ b/src/main/java/ui/window/JDialogTPNValidation.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 13/07/2006
  * @author Ludovic APVRILLE
  */
-public class JDialogTPNValidation extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogTPNValidation extends JDialog implements ActionListener, Runnable  {
 	private static boolean verboseChecked, summaryChecked = false;
 
 	protected MainGUI mgui;
diff --git a/src/main/java/ui/window/JDialogTextProcess.java b/src/main/java/ui/window/JDialogTextProcess.java
index 9d6654ad3145947070d899128fbfd7842bbc845e..4ff5568b7feb39f0ddca642b40e4b9875a14d8ef 100755
--- a/src/main/java/ui/window/JDialogTextProcess.java
+++ b/src/main/java/ui/window/JDialogTextProcess.java
@@ -61,7 +61,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 16/12/2003
  * @author Ludovic APVRILLE
  */
-public class JDialogTextProcess extends javax.swing.JDialog implements ActionListener, Runnable  {
+public class JDialogTextProcess extends JDialogBase implements ActionListener, Runnable  {
 	
 	protected String cmd;
 	protected String fileName;
diff --git a/src/main/java/ui/window/JDialogTimeInterval.java b/src/main/java/ui/window/JDialogTimeInterval.java
index 025ed3a5f8a190d755e1bf9f8cf503dbe9dd4340..9aeb72ced1ab94eda45c430b40921f455e9f30a1 100755
--- a/src/main/java/ui/window/JDialogTimeInterval.java
+++ b/src/main/java/ui/window/JDialogTimeInterval.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 10/02/2004
  * @author Ludovic APVRILLE
  */
-public class JDialogTimeInterval extends javax.swing.JDialog implements ActionListener  {
+public class JDialogTimeInterval extends JDialogBase implements ActionListener  {
     
     private String[] arrayDelay;
     
@@ -166,14 +166,8 @@ public class JDialogTimeInterval extends javax.swing.JDialog implements ActionLi
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogTimeIntervalUnit.java b/src/main/java/ui/window/JDialogTimeIntervalUnit.java
index b19c327db375df400590920c006c7ff0557a3b88..b604d373a5918a9e7a7acf2296636fe8cd7223f7 100755
--- a/src/main/java/ui/window/JDialogTimeIntervalUnit.java
+++ b/src/main/java/ui/window/JDialogTimeIntervalUnit.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 10/11/2008
  * @author Ludovic APVRILLE
  */
-public class JDialogTimeIntervalUnit extends javax.swing.JDialog implements ActionListener  {
+public class JDialogTimeIntervalUnit extends JDialogBase implements ActionListener  {
     
     private String[] arrayDelay;
 	private boolean hasMaxDelay;
@@ -183,14 +183,8 @@ public class JDialogTimeIntervalUnit extends javax.swing.JDialog implements Acti
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogTwoString.java b/src/main/java/ui/window/JDialogTwoString.java
index 30bf2e5536ee8425673889dd85940f4097e8dcb8..c059ec4f935791ea1aa776bd4289018e9799ea8c 100755
--- a/src/main/java/ui/window/JDialogTwoString.java
+++ b/src/main/java/ui/window/JDialogTwoString.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 17/11/2005
  * @author Ludovic APVRILLE
  */
-public class JDialogTwoString extends javax.swing.JDialog implements ActionListener  {
+public class JDialogTwoString extends JDialogBase implements ActionListener  {
     
     private String string1, string2;
     private String id1, id2;
@@ -153,14 +153,8 @@ public class JDialogTwoString extends javax.swing.JDialog implements ActionListe
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogUPPAALGeneration.java b/src/main/java/ui/window/JDialogUPPAALGeneration.java
index e586b7a18281633510fdef57362b7734fffb531e..76dfca83a5933e1d25803f8384c6f7e2160c13ec 100755
--- a/src/main/java/ui/window/JDialogUPPAALGeneration.java
+++ b/src/main/java/ui/window/JDialogUPPAALGeneration.java
@@ -58,7 +58,7 @@ import java.awt.event.ActionListener;
    * @version 1.0 11/05/2007
    * @author Ludovic APVRILLE
  */
-public class JDialogUPPAALGeneration extends javax.swing.JDialog implements ActionListener, Runnable, MasterProcessInterface  {
+public class JDialogUPPAALGeneration extends JDialog implements ActionListener, Runnable, MasterProcessInterface  {
 
     protected MainGUI mgui;
 
diff --git a/src/main/java/ui/window/JDialogUseCase.java b/src/main/java/ui/window/JDialogUseCase.java
index c5cfbf5c2abb240af9228719b56192f6941ac06f..85b5458e57db80f885b6820cec691855a0020c8d 100755
--- a/src/main/java/ui/window/JDialogUseCase.java
+++ b/src/main/java/ui/window/JDialogUseCase.java
@@ -59,7 +59,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 23/11/2007
  * @author Ludovic APVRILLE
  */
-public class JDialogUseCase extends javax.swing.JDialog implements ActionListener  {
+public class JDialogUseCase extends JDialogBase implements ActionListener  {
     
     private boolean regularClose;
     
@@ -146,14 +146,8 @@ public class JDialogUseCase extends javax.swing.JDialog implements ActionListene
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogVGMNNode.java b/src/main/java/ui/window/JDialogVGMNNode.java
index 7fb0167bba9c3d7b129f52b1c40a421a7a75ca16..52c88f5efc04fe06634f9b5d6ec03ba9c945ef20 100755
--- a/src/main/java/ui/window/JDialogVGMNNode.java
+++ b/src/main/java/ui/window/JDialogVGMNNode.java
@@ -60,7 +60,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 31/10/2007
  * @author Ludovic APVRILLE adapted by Daniela Genius 10.08.2016
  */
-public class JDialogVGMNNode extends javax.swing.JDialog implements ActionListener  {
+public class JDialogVGMNNode extends JDialogBase implements ActionListener  {
 
     private boolean regularClose;
 
@@ -187,14 +187,8 @@ public class JDialogVGMNNode extends javax.swing.JDialog implements ActionListen
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
 
     public void actionPerformed(ActionEvent evt)  {
diff --git a/src/main/java/ui/window/JDialogVersioningConnector.java b/src/main/java/ui/window/JDialogVersioningConnector.java
index 5380d4ea113a2cf46c1e8f43d1ae2d31957a7336..f88582422c693274aa16bd15204e512c27a3678e 100755
--- a/src/main/java/ui/window/JDialogVersioningConnector.java
+++ b/src/main/java/ui/window/JDialogVersioningConnector.java
@@ -55,7 +55,7 @@ import java.awt.event.ActionListener;
  * @version 1.0 09/09/2013
  * @author Ludovic APVRILLE
  */
-public class JDialogVersioningConnector extends JDialog implements ActionListener  {
+public class JDialogVersioningConnector extends JDialogBase implements ActionListener  {
     
     
     private JPanel panel1;//, panel2, panel3, panel4, panel5;
@@ -158,14 +158,8 @@ public class JDialogVersioningConnector extends JDialog implements ActionListene
         c0.gridwidth = 1;
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        closeButton = new JButton("Save and Close", IconManager.imgic25);
-        //closeButton.setPreferredSize(new Dimension(600, 50));
-        closeButton.addActionListener(this);
-        c.add(closeButton, c0);
-        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-        cancelButton = new JButton("Cancel", IconManager.imgic27);
-        cancelButton.addActionListener(this);
-        c.add(cancelButton, c0);
+        
+        initButtons(closeButton, cancelButton, c0, c, this);
     }
     
     public void	actionPerformed(ActionEvent evt)  {