Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java	(revision 1830)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java	(revision 1831)
@@ -2,9 +2,7 @@
 
 
 import java.awt.AWTEvent;
-import java.awt.Color;
-import java.awt.event.FocusEvent;
-import java.awt.event.FocusListener;
+import java.awt.Frame;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 import java.awt.event.MouseMotionListener;
@@ -15,7 +13,6 @@
 import java.util.Properties;
 
 import javax.swing.JComponent;
-import javax.swing.border.LineBorder;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.runtime.CoreException;
@@ -23,13 +20,10 @@
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.ComboFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Label;
@@ -58,10 +52,8 @@
 import org.txm.chartsengine.rcp.swt.AdvancedChartEditorToolBar;
 import org.txm.chartsengine.rcp.swt.ChartComposite;
 import org.txm.chartsengine.rcp.swt.ChartEditorToolBar;
-import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.preferences.TXMPreferences;
 import org.txm.rcp.editors.TXMMultiPageEditor;
-import org.txm.rcp.preferences.RCPPreferences;
 import org.txm.rcp.preferences.TXMPreferencePage;
 import org.txm.rcp.preferences.TXMPreferenceStore;
 import org.txm.utils.logger.Log;
@@ -798,7 +790,10 @@
 			@Override
 			public void mouseExited(java.awt.event.MouseEvent e) {
 				// TODO Auto-generated method stub
-
+				Frame frame = (Frame) swingComponent.getFocusCycleRootAncestor();
+				//frame.setAutoRequestFocus(false);
+				//frame.setFocusable(false);
+				//frame.setFocusableWindowState(false);
 			}
 
 			@Override
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/SwingChartComposite.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/SwingChartComposite.java	(revision 1830)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/SwingChartComposite.java	(revision 1831)
@@ -11,14 +11,15 @@
 import java.awt.datatransfer.DataFlavor;
 import java.awt.datatransfer.Transferable;
 import java.awt.datatransfer.UnsupportedFlavorException;
-import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
+import java.awt.event.WindowFocusListener;
+import java.awt.event.WindowListener;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
 import javax.swing.JApplet;
 import javax.swing.JComponent;
-import javax.swing.SwingUtilities;
+import javax.swing.border.LineBorder;
 
 import org.eclipse.swt.awt.SWT_AWT;
 import org.eclipse.swt.widgets.Composite;
@@ -26,6 +27,9 @@
 import org.txm.chartsengine.rcp.IChartComponent;
 import org.txm.chartsengine.rcp.editors.ChartEditor;
 import org.txm.chartsengine.rcp.events.EventCallBackHandler;
+import org.txm.core.preferences.TBXPreferences;
+import org.txm.rcp.preferences.RCPPreferences;
+import org.txm.utils.logger.Log;
 
 /**
  * Base chart composite with Swing/AWT support.
@@ -78,7 +82,6 @@
 		final JApplet applet = new JApplet(); 
 		this.rootPanel = (JComponent) applet.getRootPane().getContentPane();
 		
-		
 		this.frame.add(applet);
 		
 		//this.frame.pack();
@@ -167,52 +170,83 @@
 ////			}
 ////		});
 //		
-//		this.frame.addWindowListener(new WindowListener() {
-//			
-//			@Override
-//			public void windowOpened(WindowEvent e) {
-//				// TODO Auto-generated method stub
-//				
-//			}
-//			
-//			@Override
-//			public void windowIconified(WindowEvent e) {
-//				// TODO Auto-generated method stub
-//				
-//			}
-//			
-//			@Override
-//			public void windowDeiconified(WindowEvent e) {
-//				// TODO Auto-generated method stub
-//				
-//			}
-//			
-//			@Override
-//			public void windowDeactivated(WindowEvent e) {
-//				// TODO Auto-generated method stub
-//				Log.finest("SwingChartComposite.SwingChartComposite(...).new WindowListener() {...}.windowDeactivated()");
-//			}
-//			
-//			@Override
-//			public void windowClosing(WindowEvent e) {
-//				// TODO Auto-generated method stub
-//				
-//			}
-//			
-//			@Override
-//			public void windowClosed(WindowEvent e) {
-//				// TODO Auto-generated method stub
-//				
-//			}
-//			
-//			@Override
-//			public void windowActivated(WindowEvent e) {
-//				// TODO Auto-generated method stub
-//				Log.finest("SwingChartComposite.SwingChartComposite(...).new WindowListener() {...}.windowActivated()");
-//			}
-//		});
+		this.frame.addWindowListener(new WindowListener() {
+			
+			@Override
+			public void windowOpened(WindowEvent e) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void windowIconified(WindowEvent e) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void windowDeiconified(WindowEvent e) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void windowDeactivated(WindowEvent e) {
+				// TODO Auto-generated method stub
+				Log.finest("SwingChartComposite.SwingChartComposite(...).new WindowListener() {...}.windowDeactivated()");
+			}
+			
+			@Override
+			public void windowClosing(WindowEvent e) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void windowClosed(WindowEvent e) {
+				// TODO Auto-generated method stub
+				
+			}
+			
+			@Override
+			public void windowActivated(WindowEvent e) {
+				// TODO Auto-generated method stub
+				Log.finest("SwingChartComposite.SwingChartComposite(...).new WindowListener() {...}.windowActivated()");
+			}
+		});
+
+		
+		this.frame.addWindowFocusListener(new WindowFocusListener() {
+			
+			@Override
+			public void windowLostFocus(WindowEvent e) {
+				// TODO Auto-generated method stub
+				Log.finest("SwingChartComposite.SwingChartComposite(...).new WindowFocusListener() {...}.windowLostFocus()");
+				
+				// FIXME: For Swing focus debug tests
+				if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER))	{
+					((JComponent) rootPanel).setBorder(javax.swing.BorderFactory.createEmptyBorder());
+				}
+
+				
+			}
+			
+			@Override
+			public void windowGainedFocus(WindowEvent e) {
+				// TODO Auto-generated method stub
+				Log.finest("SwingChartComposite.SwingChartComposite(...).new WindowFocusListener() {...}.windowGainedFocus()");
+				
+				// FIXME: For Swing focus debug tests
+				if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER))	{
+					((JComponent) rootPanel).setBorder(new LineBorder(Color.red, 1));
+				}
+	
+				
+			}
+		});
+		
+		
 //		
-//		
 //		this.frame.addFocusListener(new FocusListener() {
 //			
 //			@Override
