From 90d5807a3c71473d4ed5045259c586d829f3c0bd Mon Sep 17 00:00:00 2001
From: Fabien Tessier <fabien.tessier@telecom-paristech.fr>
Date: Tue, 19 Sep 2017 13:07:08 +0200
Subject: [PATCH] Add inheritance and initButtons method on JDialog classes

---
 src/main/java/ui/window/JDialogADConnector.java |  2 +-
 src/main/java/ui/window/JDialogADDBusNode.java  | 12 +++---------
 src/main/java/ui/window/JDialogADDCPUNode.java  | 12 +++---------
 .../java/ui/window/JDialogADDCoproMWMRNode.java | 12 +++---------
 .../java/ui/window/JDialogADDCrossbarNode.java  | 12 +++---------
 src/main/java/ui/window/JDialogADDICUNode.java  | 12 +++---------
 .../java/ui/window/JDialogADDMemoryNode.java    | 12 +++---------
 src/main/java/ui/window/JDialogADDTTYNode.java  | 12 +++---------
 .../java/ui/window/JDialogADDTimerNode.java     | 12 +++---------
 src/main/java/ui/window/JDialogADDVgmnNode.java | 12 +++---------
 src/main/java/ui/window/JDialogArchiKey.java    | 12 +++---------
 src/main/java/ui/window/JDialogArrayGet.java    | 11 +++--------
 src/main/java/ui/window/JDialogArraySet.java    | 11 +++--------
 src/main/java/ui/window/JDialogArtifact.java    |  3 ++-
 src/main/java/ui/window/JDialogAssumption.java  | 13 ++++---------
 src/main/java/ui/window/JDialogAttack.java      | 12 +++---------
 src/main/java/ui/window/JDialogAttribute.java   | 12 +++---------
 src/main/java/ui/window/JDialogAvatarBlock.java |  7 ++++---
 .../ui/window/JDialogAvatarBlockArtifact.java   | 12 +++---------
 .../ui/window/JDialogAvatarChannelArtifact.java | 12 +++---------
 .../java/ui/window/JDialogAvatarFirewall.java   | 12 +++---------
 .../ui/window/JDialogAvatarLibraryFunction.java | 13 +++----------
 .../java/ui/window/JDialogAvatarProperty.java   | 16 +++++-----------
 .../window/JDialogAvatarPropertyConnector.java  | 16 +++++-----------
 .../java/ui/window/JDialogAvatarSignal.java     | 16 +++++-----------
 src/main/java/ui/window/JDialogAvatarState.java |  9 ++++-----
 src/main/java/ui/window/JDialogAvatarTimer.java | 16 +++++-----------
 .../java/ui/window/JDialogAvatarTransition.java |  7 ++++---
 src/main/java/ui/window/JDialogBUSNode.java     |  2 +-
 src/main/java/ui/window/JDialogBase.java        |  6 +++---
 .../java/ui/window/JDialogBisimulation.java     |  2 +-
 .../window/JDialogBisimulationBisimulator.java  |  2 +-
 src/main/java/ui/window/JDialogBridgeNode.java  | 12 +++---------
 src/main/java/ui/window/JDialogCAMSBlocks.java  |  6 +++---
 .../ui/window/JDialogCAMSConnectingPoint.java   | 12 +++---------
 src/main/java/ui/window/JDialogCPUNode.java     | 12 +++---------
 src/main/java/ui/window/JDialogCancel.java      |  2 +-
 src/main/java/ui/window/JDialogChannel.java     | 12 ++++--------
 src/main/java/ui/window/JDialogCode.java        |  2 +-
 .../ui/window/JDialogCommPatternMapping.java    |  4 +---
 .../ui/window/JDialogCommunicationArtifact.java | 12 +++---------
 src/main/java/ui/window/JDialogConstraint.java  | 12 +++---------
 .../java/ui/window/JDialogConstraintText.java   | 12 +++---------
 .../java/ui/window/JDialogCountermeasure.java   | 12 +++---------
 .../java/ui/window/JDialogCrossbarNode.java     | 12 +++---------
 .../JDialogCryptographicConfiguration.java      | 12 +++---------
 src/main/java/ui/window/JDialogDMANode.java     | 12 +++---------
 src/main/java/ui/window/JDialogDSE.java         |  2 +-
 src/main/java/ui/window/JDialogERB.java         | 13 +++----------
 src/main/java/ui/window/JDialogESO.java         | 12 +++---------
 .../java/ui/window/JDialogEventArtifact.java    | 14 +++++---------
 .../java/ui/window/JDialogFirewallNode.java     | 13 ++++---------
 .../java/ui/window/JDialogFormalValidation.java |  2 +-
 src/main/java/ui/window/JDialogGenAUT.java      |  2 +-
 src/main/java/ui/window/JDialogGenAUTS.java     |  2 +-
 .../ui/window/JDialogGraphModification.java     |  2 +-
 src/main/java/ui/window/JDialogHwANode.java     | 12 +++---------
 .../ui/window/JDialogInvariantAnalysis.java     |  2 +-
 .../java/ui/window/JDialogJavaGeneration.java   |  2 +-
 .../java/ui/window/JDialogJavaSimulation.java   |  2 +-
 .../java/ui/window/JDialogLOTOSAnalysis.java    |  2 +-
 .../java/ui/window/JDialogLOTOSValidation.java  |  2 +-
 src/main/java/ui/window/JDialogLinkNCNode.java  | 13 +++++--------
 src/main/java/ui/window/JDialogLinkNode.java    |  3 ++-
 .../ui/window/JDialogManageListOfString.java    |  6 +++---
 src/main/java/ui/window/JDialogMemoryNode.java  | 12 +++---------
 .../java/ui/window/JDialogModelChecking.java    |  2 +-
 src/main/java/ui/window/JDialogMultiString.java | 12 +++---------
 .../java/ui/window/JDialogMultiStringCP.java    | 12 +++---------
 src/main/java/ui/window/JDialogNCEqNode.java    | 12 ++++--------
 src/main/java/ui/window/JDialogNCRoute.java     | 17 ++++++-----------
 .../java/ui/window/JDialogNCSwitchNode.java     | 12 ++++--------
 src/main/java/ui/window/JDialogNCTraffic.java   | 12 ++++--------
 src/main/java/ui/window/JDialogNote.java        |  2 +-
 src/main/java/ui/window/JDialogObserver.java    | 12 +++---------
 src/main/java/ui/window/JDialogParam.java       | 12 ++++--------
 src/main/java/ui/window/JDialogParamFIFO.java   | 12 ++++--------
 .../java/ui/window/JDialogPortArtifact.java     | 12 +++---------
 src/main/java/ui/window/JDialogPragma.java      |  2 +-
 src/main/java/ui/window/JDialogProjection.java  |  2 +-
 .../ui/window/JDialogProverifVerification.java  |  2 +-
 .../java/ui/window/JDialogReducedAttribute.java | 12 +++---------
 src/main/java/ui/window/JDialogRequirement.java | 12 +++---------
 .../java/ui/window/JDialogRequirementTable.java | 12 ++++--------
 src/main/java/ui/window/JDialogSDInstance.java  | 11 +++--------
 .../window/JDialogSMDLibraryFunctionCall.java   | 13 +++----------
 .../java/ui/window/JDialogSafetyPragma.java     |  2 +-
 src/main/java/ui/window/JDialogScheduling.java  |  2 +-
 .../ui/window/JDialogSelectAvatarBlock.java     |  7 ++++---
 .../java/ui/window/JDialogSelectCPDiagrams.java |  2 +-
 .../ui/window/JDialogSelectRequirements.java    |  2 +-
 .../ui/window/JDialogSelectSystemCAMSBlock.java |  2 +-
 .../ui/window/JDialogSelectTMLComponent.java    |  2 +-
 .../java/ui/window/JDialogSelectTMLNodes.java   |  2 +-
 .../java/ui/window/JDialogSelectTMLTask.java    |  2 +-
 .../ui/window/JDialogSignalAssociation.java     | 17 ++++++-----------
 src/main/java/ui/window/JDialogSimulation.java  |  2 +-
 src/main/java/ui/window/JDialogSynchro.java     | 12 +++---------
 src/main/java/ui/window/JDialogTMLADRandom.java | 12 +++---------
 .../java/ui/window/JDialogTMLCompositePort.java | 12 ++++--------
 .../java/ui/window/JDialogTMLConnectorNode.java | 12 +++---------
 .../JDialogTMLRemoteCompositeComponent.java     | 13 ++++---------
 .../java/ui/window/JDialogTMLSDInstance.java    |  2 +-
 .../java/ui/window/JDialogTMLTaskArtifact.java  | 12 +++---------
 src/main/java/ui/window/JDialogTOSClass.java    |  2 +-
 src/main/java/ui/window/JDialogTObjectName.java | 11 +++--------
 .../java/ui/window/JDialogTPNValidation.java    |  2 +-
 src/main/java/ui/window/JDialogTextProcess.java |  2 +-
 .../java/ui/window/JDialogTimeInterval.java     | 12 +++---------
 .../java/ui/window/JDialogTimeIntervalUnit.java | 12 +++---------
 src/main/java/ui/window/JDialogTwoString.java   | 12 +++---------
 .../java/ui/window/JDialogUPPAALGeneration.java |  2 +-
 src/main/java/ui/window/JDialogUseCase.java     | 12 +++---------
 src/main/java/ui/window/JDialogVGMNNode.java    | 12 +++---------
 .../ui/window/JDialogVersioningConnector.java   | 12 +++---------
 115 files changed, 304 insertions(+), 695 deletions(-)

diff --git a/src/main/java/ui/window/JDialogADConnector.java b/src/main/java/ui/window/JDialogADConnector.java
index 9938b966d9..85dcc9a53e 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 3c4739e8eb..83b09fb799 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 91212725ae..0ebdcd3f8a 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 69b27145be..648b6e0421 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 250df361f4..470ce6ebc9 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 3c62c0136c..955f21bc71 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 4b637e2395..29ee1df8cc 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 bc3586d662..ac982b91b1 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 22ef59eea6..fbcc55c221 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 17ae66ced8..9fef537966 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 5d5293345e..e2bc9d4458 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 df14b93f79..bfd1aecadb 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 b63bb55e9d..4f2c9e53e7 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 369ca97081..7c8119dd07 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 cbdbdb110c..05f0f3e4f4 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 a3e9a12a59..217c450dd6 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 46befddae6..9540f6117a 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 75c28dfc3b..b6400f7fc1 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 eba1cbeac9..843e4fcb0c 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 0d1f5b4222..6f74aa9ad5 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 3974aad362..7776da1300 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 23f4376a1e..27c02b2fc2 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 e54aeed377..ebe4779241 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 5fb24c0462..161e943863 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 f76fb64828..747e403ccc 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 0cf68857c8..f4ab694296 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 b36917c46f..e4e777b75f 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 c228912661..4aaa39d4dd 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 d6f55d0567..ab3471fc58 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 b543158b6f..86d628b2a1 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 7a0e775131..0dddc94a1e 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 00716dca8b..23f8f049ec 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 026c8705d4..653ef1e4db 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 9ae2084b9a..d5f72aa864 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 cb85316df4..31597858a9 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 08f198ac57..1f424a6eaa 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 5ed693c1a3..011cc6ad65 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 b8c0da61f9..4f709d6497 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 9b20214194..7ae4382f07 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 dc4ecb516d..f3f546d297 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 a09eee62ca..e82ba83962 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 28876869b9..b6dd043aca 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 676125008a..398be3cebb 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 aa376d8a5f..abd03cfa6d 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 a26500d739..61e702680a 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 4f134e6ce6..13bead214a 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 443ee55e72..58df5ebcc1 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 8444cdc072..321506d7c7 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 f3149dcc7c..50b5257954 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 49438fe949..d5ee955744 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 23bd702d0e..ed42987deb 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 4472c2cc81..6d958d05c5 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 06440ba52e..769666731d 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 5531faec0a..5ec828e8ad 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 04c45f945a..4a73ab84a6 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 5ab7441597..39233674b6 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 63e2cca723..35c8254f3b 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 6f225c5649..620075ded3 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 2b01f2b2cb..4a7891cc36 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 30a59ce189..206d69667b 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 16f2b04478..bf19a3fb80 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 b8426389da..afc146ca0c 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 962c5fed0c..3c02a6dde9 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 1fc6a885ce..03f9007be5 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 91886bdb17..85e582bab0 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 dfb2d4b7b4..990995e83c 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 f124a98244..c69ef84bde 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 1d549c675b..fd5d54d6c1 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 1631dbeab8..737c4e40ec 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 891cbede80..b7490d0def 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 b9779747b1..5345433b59 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 67dd19d2d9..28b43d8592 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 ea426f1c98..2395f87b2a 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 4cde5a83a0..c6b9c8544e 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 2813da192a..59c419bb7c 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 bbe71baea7..014f754743 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 632e5d7d06..cb1f08de9d 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 93ceced63b..1479e3daf6 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 f38ba86ea0..9460a2d0d9 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 4e9a2eac90..2392b1fa40 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 af22908dbc..7b950da945 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 be39a71340..4b443a6fe5 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 b1204d281a..958a74e265 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 28a6041e4f..3de4898992 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 e6387e2a08..6234e56e31 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 248f5198b1..560b69940f 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 2ba534e141..e795bdc014 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 2ebc826d85..5f0ceb3db4 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 7b72a51748..1fde123ab3 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 4ce8b6b4b7..31aeebe087 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 09ee0904fe..e178e22eac 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 2d2a66b110..0d15fbf048 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 144e44a882..b721fe76dc 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 9f138ee89c..c0973a7716 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 59b711c8c0..ed8f631d90 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 e700507168..eacbb7d6ca 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 847c3c84a1..9f3a8b88d7 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 fd438c815f..e13583a4f2 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 22392c3221..cc5163ff26 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 764c805fae..c811cce18b 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 c5bd73677d..6ac040655d 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 886ae05090..648cebe709 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 c7f641238d..23039ee15a 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 7ff2344fd9..a343191dcd 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 8689d4e015..107324a2bf 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 48d19d4276..f00d19eebd 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 ee4dcf28c7..66eb741bf4 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 9d6654ad31..4ff5568b7f 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 025ed3a5f8..9aeb72ced1 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 b19c327db3..b604d373a5 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 30bf2e5536..c059ec4f93 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 e586b7a182..76dfca83a5 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 c5cfbf5c2a..85b5458e57 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 7fb0167bba..52c88f5efc 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 5380d4ea11..f88582422c 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)  {
-- 
GitLab