kills Geschrieben 13. April 2005 Geschrieben 13. April 2005 Hallo zusammen, Ich möchte in einer SWT Anwedung per Button Click ein neues Fenster einblenden, indem ein Textfeld und ein schließen Button abgebildet ist. Wenn ich auf den Knopf drücke erscheint leider nur eine Leere Shell (ohne Text, Button)... Weiss jemand wo mein Fehler liegt? // schnipp... oButton.addMouseListener( new MouseAdapter() { public void mouseDown( MouseEvent e) { GridLayout oLayout = new GridLayout(); GridData oGridData = new GridData(); final Shell oShell = new Shell(); oShell.setText( "Eingabe-Maske"); oShell.setLayout( oLayout); oGridData.heightHint = 200; oGridData.widthHint = 200; oShell.setLayoutData(oGridData); // Create a composite to hold the children final Composite oComposite = new Composite( oShell, SWT.NONE); // Text composite final Text oTextarea = new Text( oComposite, SWT.MULTI); oGridData = new GridData(); oGridData.heightHint = 150; oGridData.widthHint = 200; oTextarea.setLayoutData( oGridData); // Button composite final Button oButton = new Button( oComposite, SWT.PUSH); oGridData = new GridData(); oGridData.heightHint = 50; oGridData.widthHint = 50; oButton.setLayoutData( oGridData); oButton.addMouseListener( new MouseAdapter(){ public void mouseDown(MouseEvent e) { oText.setText( oTextarea.getText()); oShell.dispose(); } }); oShell.open(); } }); // schnapp... [/PHP] Gruß, Markus PS: Das ganze befindet sich in einem Eclipse Plugin... Zitieren
Felicie Geschrieben 13. April 2005 Geschrieben 13. April 2005 Ich bin mir grad nicht ganz sicher, aber wo ist die Stelle, wo Du die erzeugten Objekte auf das Fenster packst? Ist das vielleicht das Problem? Zitieren
kingofbrain Geschrieben 13. April 2005 Geschrieben 13. April 2005 Servus, probier mal, der Shell ein FillLayout zu geben. Dann wird das Composite darin so gross gemacht wie die Shell. Dann dem Composite noch eine Hintergrundfarbe geben, dann siehst Du, wo was angezeigt wird. BTW, wieso das Composite? Gib den Widgets doch die Shell als Parent. Peter Zitieren
kills Geschrieben 14. April 2005 Autor Geschrieben 14. April 2005 BTW, wieso das Composite? Gib den Widgets doch die Shell als Parent. Gute Frage... Nachdem ich die Shell direkt als Parent genommen habe gings auch komischerweise direkt.. Naja, dankeschön! Gruß, Markus Zitieren
kingofbrain Geschrieben 14. April 2005 Geschrieben 14. April 2005 Du hast der Shell ja auch das Layout gegeben, dem Composite aber nicht. Deshalb wurde dort das Standardlayout verwendet. Welches das ist, kann ich Dir aber aus dem Stegreif nicht sagen. Das setLayoutData bei der Shell bringt übrigens nichts, da die Shell ja nicht im Layout ihres Parents liegt. Peter Zitieren
kills Geschrieben 14. April 2005 Autor Geschrieben 14. April 2005 Super Tipps, danke! Gruß, Markus Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.