[Gvsig_desarrolladores] Error creando ventana nueva en ProjectTable.createWindow()

Alberto Calzada albertocalsa en gmail.com
Vie Ago 3 18:15:51 CEST 2012


Hola a todos,

Estoy desarrollando una extensión para gvSIG 1.11 y llevo un bueno rato
intentando averiguar el porqué de este error. He mirado por Internet y
también antiguos mensajes en las listas de correo pero no he encontrado
nada al respecto, y para ser sincero, no sé a qué se debe.
Este es el error en tiempo de ejecución que me salta siempre:

Exception in thread "Thread-8" java.lang.RuntimeException: No Event
Dispatch Thr

ead

        at
com.iver.andami.ui.mdiFrame.MDIFrame.enableControls(MDIFrame.java:897

)

        at
com.iver.cit.gvsig.project.documents.table.gui.Table.updateSelection(

Table.java:340)

        at
com.iver.cit.gvsig.project.documents.table.gui.Table.refreshControls(

Table.java:257)

        at
com.iver.cit.gvsig.project.documents.table.gui.Table.setModel(Table.j

ava:293)

        at
com.iver.cit.gvsig.project.documents.table.ProjectTable.createWindow(

ProjectTable.java:969)

        at
model.spatial.GISOutputExporterCSV.closeFile(GISOutputExporterCSV.jav

a:337)

        at model.core.Execution$ActualTask.<init>(Execution.java:243)

        at model.core.Execution$2.construct(Execution.java:88)

        at model.threadExec.SwingWorker$2.run(SwingWorker.java:60)

        at java.lang.Thread.run(Unknown Source)

 Mi código es el siguiente (en GISOutputExporterCSV.java):

        ProjectExtension ext = (ProjectExtension)
PluginServices.getExtension(ProjectExtension.class);
try {
LayerFactory.getDataSourceFactory().addFileDataSource("csv string",
tableFile.getName(), tableFile.getAbsolutePath());
 DataSource dataSource =
LayerFactory.getDataSourceFactory().createRandomDataSource(tableFile.getName(),
DataSourceFactory.AUTOMATIC_OPENING);

dataSource.setDataSourceFactory(LayerFactory.getDataSourceFactory());
        SelectableDataSource sds = new SelectableDataSource(dataSource);
        EditableAdapter auxea=new EditableAdapter();
        auxea.setOriginalDataSource(sds);
String docName = "RIMER Results in: "+tableFile.getName();
    projectTable = ProjectFactory.createTable(docName, auxea);
    projectTable.setModel(auxea);
        ext.getProject().addDocument(projectTable);

        IWindow win = projectTable.createWindow();
         PluginServices.getMDIManager().addWindow(win);

Donde tableFile es del tipo java.io.File.

El caso es que la tabla CSV se añade correctamente al proyecto, y además
puedo abrirla sin problema ninguno manualmente después de que este error
salte, pero quisiera que la tabla apareciera automáticamente después de que
se acabara la ejecución de mi extensión.

He intentado varias formas de evitar el "createWindow", que parece el
origen del problema (Como crear un Table "t" y hacer un
"t.setModel(projectTable)" pero entonces el error me salta en este método
(que como podéis ver está también en el stack del error en tiempo de
ejecución del "createWindow").

El caso es que no sé a qué se puede deber este error. Si al menos pudiera
encontrar el motivo por el que en el método "enableControls" de la clase
org.gvsig.andami.ui.mdiFrame salta el runtime error en este bloque:

*public* *void* enableControls() {

      *if* (!*SwingUtilities*.isEventDispatchThread()) {

*             throw* *new* *RuntimeException*("No Event Dispatch Thread");

}


¿Alguien tiene alguna idea de porqué me
!SwingUtilities.isEventDispatchThread() en este caso?

Cualquier opinión, consejo o ayuda es más que bienvenido, porque esto me
tiene un poco atascado!

Muchísimas gracias de antemano a todos!

Un saludo

Alberto


-- 
*--
*

*Mr Alberto Calzada
Full-time PhD Candidate*

*Room 16J25 *

*School of Computing and Mathematics
Faculty of Computing and Engineering*

*University of Ulster at Jordanstown Campus
Northern Ireland, UK
Email: Calzada-A en email.ulster.ac.uk*

*Tel:  +44 28 90361114 *
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20120804/a0ea699e/attachment.htm 


Más información sobre la lista de distribución gvSIG_desarrolladores