Bonjour à tous,
Dans l'application RCP que je suis en train de développer en ce moment, j'ai érreur lorsque j'ouvre certaines de mes vues. Pour vous situer le contexte, je dispose de 3 vues : une vue de navigation(contennant dans un treeViewer les éléments à visualiser), une vue de résultats(dans la quelle se trouve un tableVuewer contennant les donées relatives à l'objet selectionné dans la vue de navigation) et une vue de filtres (dont les composants sont générés dynamiquement en fonction de l'objet selectionné dans la vue de navigation).
Pour une vue plus synthétique de l'application, lorsque je clique sur un objet dans la vue de navigation, un onglet(instance de vue) apparaît dans la vue de résultats. Dans cette instance de vue, se trouve donc un tableViewer contenant les données correspondantes à l'objet sélectionné. De la même façon, l'ihm de la vue de filtre change en fonction de l'objet selectionné.
Cependant, j'ai un problème, et malgré avoir rémué dans tous les sens, je ne trouve pas de solution à cela. En effet, à la création de ma vue de résultats, j'ai l'érreur suivante : "An error has occurred. See error log for more details.
java.lang.NullPointerException".
Je n'obtiens cette erreur que lors du premier affichage de l'instance de vue. Une fois que l'instance existe, je ne l'ai plus lorsque je selectionne le même objet.
Je rappele juste que mes vues sont déclarées de la sorte dans la perpective :
et que mes instances de vue sont créées et affichées dans la vue de navigation, et avec le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 IFolderLayout folderResults = layout.createFolder("Results", IPageLayout.BOTTOM, 0.5f, editorArea); folderResults.addPlaceholder(ResultView.ID + ":*");
J'ai la nette impression que le problème est vraiment basique, mais je trouve pas de quoi il est question. Je m'en remet donc à vos précieux conseils.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ResultView resultView = null; try { //Activation de la vue de résultats (affichage si elle existe, création si elle n'existe pas ) resultView = (ResultView) getViewSite().getWorkbenchWindow().getActivePage().showView("fast.resultview", resultName, IWorkbenchPage.VIEW_ACTIVATE); } catch (PartInitException e) { Activator.getLogger().error(e.toString()); }
Merci énormement
Partager