Revision 38564 branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/AndamiEventQueue.java

View differences:

AndamiEventQueue.java
42 42

  
43 43
import java.awt.AWTEvent;
44 44
import java.awt.EventQueue;
45
import java.awt.event.MouseEvent;
45 46

  
47
import javax.swing.JOptionPane;
48

  
49
import org.gvsig.andami.PluginServices;
46 50
import org.gvsig.andami.messages.Messages;
47 51
import org.gvsig.andami.messages.NotificationManager;
52
import org.slf4j.Logger;
53
import org.slf4j.LoggerFactory;
48 54

  
49 55

  
50 56

  
......
54 60
 * @author Fernando Gonz?lez Cort?s
55 61
 */
56 62
public class AndamiEventQueue extends EventQueue {
63
	private static Logger logger = LoggerFactory.getLogger(AndamiEventQueue.class);
64
	
57 65
	protected void dispatchEvent(AWTEvent event){
58 66
		try{
59 67
			super.dispatchEvent(event);
60 68
		} catch(RuntimeException e){
69
			if( event instanceof MouseEvent ) {
70
				MouseEvent me = (MouseEvent)event;
71
				if( me.getButton() == 0 && me.getClickCount()==0 ) {
72
					// Intentamos que los errores que se produzcan con los eventos de movimiento del raton
73
					// no provoquen la aparicion de la ventana de errores ya que llega a bloquear al usuario.
74
					// Intentaremos sacarlos en la barra de estado si podemos.
75
					try {
76
						PluginServices.getMainFrame().getStatusBar().message(e.getMessage(), JOptionPane.ERROR_MESSAGE);
77
					} catch(Throwable ex) {
78
						// Ignora cualquier error que se produzca intentando mostrar el mensaje de error y nos
79
						// conformaremos con que este en el log.
80
					}
81
					logger.info("Error dispaching event",e);
82
					return;
83
				}
84
			}
61 85
			NotificationManager.addError(e);//Messages.getString("PluginServices.Bug en el c?digo"), e);
62 86
		} catch (Error e){
63 87
			NotificationManager.addError(

Also available in: Unified diff