mtk-flo
Erfahrenes Mitglied
Hallo,
ich habe eine HauptShell, in der ich alles anzeige, was für den User wichtig ist.
Nun möchte ich eine AdminShell öffnen, in der Administratoren Dinge eingeben können.
Jedoch bekomm ich es nicht hin, dass die AdminShell geöffnet wird.
Hier ist ein Teil von meinem Code:
Konstruktor:
Der katalogAdminItemListener:
Was mach ich falsch?
ich habe eine HauptShell, in der ich alles anzeige, was für den User wichtig ist.
Nun möchte ich eine AdminShell öffnen, in der Administratoren Dinge eingeben können.
Jedoch bekomm ich es nicht hin, dass die AdminShell geöffnet wird.
Hier ist ein Teil von meinem Code:
Konstruktor:
Code:
display = new Display();
katalogShell = new Shell(display);
katalogShell.setText("Prüfungskatalog");
katalogShell.setSize(800, 600);
katalogShell.setLocation(50, 50);
katalogAdminShell = new Shell(katalogShell);
katalogAdminShell.setText("Prüfungskatalog");
katalogAdminShell.setSize(600, 400);
katalogAdminShell.setLocation(100, 100);
menuBar = new Menu(katalogShell, SWT.BAR);
katalogMenuHeader = new MenuItem(menuBar, SWT.CASCADE);
katalogMenuHeader.setText("&Prüfungskatalog");
katalogMenu = new Menu(katalogShell, SWT.DROP_DOWN);
katalogMenuHeader.setMenu(katalogMenu);
katalogOpenItem = new MenuItem(katalogMenu, SWT.PUSH);
katalogOpenItem.setText("Ansehen");
katalogOpenItem.addSelectionListener(new katalogShowItemListener());
katalogAdminItem = new MenuItem(katalogMenu, SWT.PUSH);
katalogAdminItem.setText("Administration");
katalogAdminItem.addSelectionListener(new katalogAdminItemListener());
// Menu anzeigen
katalogShell.setMenuBar(menuBar);
// shell anzeigen
katalogShell.open();
// Warten bis shell geschlossen wird
while(!katalogShell.isDisposed()) {
// Prüfe ob Ereignisse warten
if(!display.readAndDispatch())
display.sleep();
}
Der katalogAdminItemListener:
Code:
class katalogAdminItemListener extends baummenu implements SelectionListener {
public void widgetSelected(SelectionEvent event) {
katalogAdminShell.open();
katalogShell.setEnabled(false);
while(!katalogAdminShell.isDisposed()) {
// Prüfe ob Ereignisse warten
if(!display.readAndDispatch()) {
display.sleep();
}
}
katalogShell.setEnabled(true);
katalogShell.setFocus();
}
public void widgetDefaultSelected(SelectionEvent event) {
// leer
}
}
Was mach ich falsch?
Zuletzt bearbeitet: