eclipse-plugin - tutorial - swt eclipse plugin
Complemento de Eclipse: abrir una nueva ventana desde el WorkBench (2)
No creo que quieras crear un nuevo Shell. En su lugar, pase el Shell principal a su nueva clase. Me resulta más fácil extender una de las clases de diálogo (o el cuadro de diálogo en sí) para nuevas ventanas. Luego, en su constructor puede llamar a super (shell parent) para inicializar todo el entorno / GUI y luego puede diseñar el área de diálogo de la manera que desee. Luego, para abrir la nueva ventana, haga un dialog.open ().
Soy nuevo aquí, así que perdónenme por cualquier error. Solo necesito tu ayuda urgentemente. Soy nuevo en el desarrollo de plugins de Eclipse y he logrado hacer un montón de trabajo. Aquí es donde me tengo atascado. Tengo una vista con un botón. Cuando un usuario hace clic en el botón quiero que se abra una nueva ventana (La ventana es un formulario con áreas de texto, botones y otros widgets SWT). He terminado de crear la ventana.
Después de compilar la aplicación, obtengo una nueva instancia de eclipse workbench (como se esperaba) pero cuando abro la vista y hago clic en el botón, la ventana no aparece. Este es el fragmento de código de la ventana:
public class NewWindow {
private Display display;
private Shell shell;
public NewWindow(){
this.display = new Display();
shell = new Shell(displaySWT.TITLE | SWT.MIN | SWT.CLOSE);
shell.setText("fffffffffffff");
// additional code here
...
...
shell.open();
this.shellSleep(); // this methode is implemented in my code
}
Este es el fragmento de código que llama a esta clase:
... ...
this.btnCreateNewQuery.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent e){
}
public void widgetSelected(SelectionEvent e){ NewWindow b = new NewWindow();
}
});
... ...
No entiendo por qué la ventana no aparece. ¿Alguien puede ayudarme a resolver este problema? He estado gastando días y noches tratando de arreglarlo pero todavía no he encontrado nada. Leí algo en este sitio, pero no entiendo lo que significan. este es el enlace: ¿Cómo hago para que la ventana del banco de trabajo abra un cuadro de diálogo modal en un proyecto basado en Eclipse?
Necesito ayuda por favor.
Eddy, eso es bastante fácil de resolver. Simplemente no crees una nueva pantalla. Reutilice el del banco de trabajo:
public NewWindow() {
this.display = PlatformUI.getWorkbench().getDisplay();
shell = new Shell(display, SWT.TITLE | SWT.MIN | SWT.CLOSE);
shell.setText("fffffffffffff");
// additional code here
...
...
shell.open();
this.shellSleep(); // this methode is implemented in my code
}
Alternativamente, puede descartar la variable de visualización y pasar el nulo al constructor de Shell.