Revision 38564 branches/v2_0_0_prep/frameworks/_fwAndami/src/org/gvsig/andami/ui/AndamiEventQueue.java
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