Hey, ich hab nach 2 min überlegen leider keinen besseren Titel gefunden...
Ich will mir ein Eclipse Plug-In programmieren, und nutze dafür SWT, da Eclipse ja darauf aufbaut. Ich bin da ein absoluter Anfänger.
Nun hab ich mir in meiner Plugin Action einfach mal einen leeren Dialog gemacht, der beim Start des Plugins angezeigt wird:
Das funktioniert. Nun wollte ich den Dialog in eine eigene Klasse auslagern:
und in der obigen run-Methode die Änderung:
Meiner Meinung nach ist das doch jetzt noch immer der selbe Code?! Auf jeden Fall funktioniert das jetzt nicht mehr. Beim Klick auf den Button der mein Plugin startet passiert einfach gar nix, es erscheint kein Dialog. Was mach ich hier falsch?
Merci
Ich will mir ein Eclipse Plug-In programmieren, und nutze dafür SWT, da Eclipse ja darauf aufbaut. Ich bin da ein absoluter Anfänger.
Nun hab ich mir in meiner Plugin Action einfach mal einen leeren Dialog gemacht, der beim Start des Plugins angezeigt wird:
Java:
public class MyAction implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
@Override
public void init(IWorkbenchWindow window) {
this.window = window;
}
@Override
public void run(IAction action) {
Shell eclipse = window.getShell();
Shell dialog = new Shell(eclipse, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM);
Display display = eclipse.getDisplay();
dialog.open();
while (!dialog.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
@Override
public void dispose() {
}
@Override
public void selectionChanged(IAction arg0, ISelection arg1) {
}
}
Das funktioniert. Nun wollte ich den Dialog in eine eigene Klasse auslagern:
Java:
public class MyDialog extends Shell {
public MyDialog(Shell owner) {
super(owner, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM);
}
}
und in der obigen run-Methode die Änderung:
Java:
//Shell dialog = new Shell(eclipse, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM);
Shell dialog = new MyDialog(eclipse);
Meiner Meinung nach ist das doch jetzt noch immer der selbe Code?! Auf jeden Fall funktioniert das jetzt nicht mehr. Beim Klick auf den Button der mein Plugin startet passiert einfach gar nix, es erscheint kein Dialog. Was mach ich hier falsch?
Merci